:root{--navy:#292735;--green:#67b525;--blue:#2f90e5;--ink:#2f3138;--muted:#70727a;--panel:#e9e9eb;--line:#d9d9de;--bg:#fbfbf8;--danger:#b42318}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}a{color:#287ec7}.topbar{height:100px;background:var(--navy);display:flex;align-items:center}.topbar .inner,.page,.footer{width:min(1090px,calc(100% - 32px));margin:0 auto}.brand{display:flex;align-items:center}.brand img{width:222px;height:62px}.landing{min-height:calc(100vh - 100px);padding:76px 0 38px}.hero-login{text-align:center}.hero-login .btn{font-size:28px;padding:16px 54px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--green);color:#fff;text-decoration:none;padding:13px 28px;font-size:18px;cursor:pointer;border-radius:1px}.btn:hover{filter:brightness(.96)}.btn.secondary{background:#fff;color:#333;border:1px solid #cfd0d4}.tiles{margin:68px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:980px}.tile{min-height:172px;background:white;border:1px solid #e4e4e7;padding:22px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 2px 9px rgba(0,0,0,.04)}.tile h3{margin:0 0 10px;font-size:18px}.tile p{font-size:14px;line-height:1.5;margin:0;color:#666}.tile .tag{font-size:12px;color:#fff;background:#2f90e5;padding:7px 10px;align-self:flex-start}.login-wrap{min-height:calc(100vh - 100px);padding:100px 0 56px}.login-box{width:min(540px,calc(100% - 28px));margin:0 auto;background:var(--panel);padding:22px 38px 18px}.login-box h1{font-weight:400;color:var(--blue);font-size:30px;text-align:center;margin:0 0 24px}.login-box .hint{text-align:center;font-size:13px;margin-bottom:20px}.field{margin-bottom:18px}.field label{display:block;font-size:14px;margin-bottom:6px}.field input,.field select{width:100%;height:38px;border:1px solid #efeff1;background:#fff;padding:0 11px;font-size:15px;outline:none}.field input:focus,.field select:focus{border-color:#84bff3;box-shadow:0 0 0 2px rgba(47,144,229,.15)}.links{text-align:center;margin:12px 0 16px;font-size:13px}.submit-row{text-align:center}.help{text-align:center;margin-top:13px;color:var(--blue);font-size:13px}.subbox{width:min(540px,calc(100% - 28px));margin:18px auto 0;background:var(--panel);padding:14px 38px;text-align:center}.key-icons{font-size:22px;letter-spacing:12px;margin-bottom:10px}.contact{text-align:center;margin:62px 0 0;font-size:21px;color:var(--blue)}.footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#666;margin-top:52px}.alert{padding:11px 13px;margin:0 0 16px;border:1px solid #efc7c2;background:#fff3f1;color:var(--danger);font-size:13px}.alert.ok{border-color:#b7dfac;background:#f0faed;color:#2d6d23}.setup{width:min(760px,calc(100% - 28px));margin:42px auto;background:#fff;border:1px solid #e3e3e6;padding:28px}.setup h1{margin-top:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dashboard{padding:36px 0 70px}.dash-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.usercard{font-size:14px;color:#666}.cards{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:#fff;border:1px solid #e0e1e4;padding:22px;min-height:145px}.card h3{margin-top:0}.admin-table{width:100%;border-collapse:collapse;background:#fff;margin-top:18px}.admin-table th,.admin-table td{border:1px solid #e0e0e3;padding:10px;text-align:left;font-size:14px}.small{font-size:12px;color:#6b6b72}.muted{color:#777}.logout{color:#fff;border:1px solid rgba(255,255,255,.35);padding:8px 12px;text-decoration:none}.topbar .navrow{display:flex;align-items:center;justify-content:space-between;width:100%}
@media(max-width:800px){.tiles,.cards,.grid2{grid-template-columns:1fr 1fr}.login-wrap{padding-top:55px}.footer{flex-direction:column;text-align:center}.dash-head{flex-direction:column}}
@media(max-width:520px){.topbar{height:82px}.brand img{width:186px;height:auto}.landing{padding-top:48px}.tiles,.cards,.grid2{grid-template-columns:1fr}.hero-login .btn{font-size:23px;padding:14px 36px}.login-box{padding:22px 22px 18px}.login-wrap{min-height:calc(100vh - 82px);padding-top:36px}.footer{margin-top:34px}.topbar .inner,.page,.footer{width:min(100% - 22px,1090px)}}

/* ===== Panel główny inspirowany klasycznym układem UONET+ ===== */
.uonet-dashboard-body{background:#f2f2f2;color:#fff;font-family:"Segoe UI",Arial,Helvetica,sans-serif;min-height:100vh}
.uonet-shell{width:100%;min-height:100vh;background:#f2f2f2;padding:13px 15px 24px}
.uonet-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;min-height:50px;margin-bottom:0}
.uonet-wordmark{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#8cae32;padding:3px 2px 0;font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:400;letter-spacing:-.2px}
.uonet-mark{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;background:#8bae38;color:#fff;border-radius:2px;font:700 14px/1 Arial;margin-top:1px}
.uonet-name{white-space:nowrap}
.uonet-top-right{display:flex;align-items:flex-start;gap:25px;position:relative}
.uonet-clock{min-width:72px;background:#446ea9;color:#fff;text-align:center;padding:5px 12px 6px;font-size:20px;line-height:1.1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.uonet-date{width:72px;min-height:38px;background:#446ea9;color:#fff;text-align:center;padding:5px 5px 4px;font-size:8px;line-height:1.18;text-transform:lowercase}
.uonet-date strong,.uonet-date span{display:block;font-weight:400}
.uonet-user-menu{position:relative}
.uonet-user-button{width:38px;height:38px;border:0;background:#6ca8cf;color:#fff;cursor:pointer;font-weight:700;border-radius:0}
.uonet-user-dropdown{position:absolute;right:0;top:44px;width:190px;background:#fff;color:#444;z-index:40;box-shadow:0 6px 22px rgba(0,0,0,.2);padding:12px;border:1px solid #d7d7d7}
.uonet-user-dropdown strong,.uonet-user-dropdown small{display:block}.uonet-user-dropdown small{color:#777;margin:3px 0 9px}.uonet-user-dropdown a{display:block;color:#3c7daf;text-decoration:none;padding:6px 0;border-top:1px solid #eee}
.uonet-board{display:grid;grid-template-columns:minmax(168px,1fr) minmax(168px,1fr) minmax(168px,1fr);gap:25px;align-items:start}
.uonet-col{display:flex;flex-direction:column;gap:25px;min-width:0}
.uonet-col-center{padding-top:0}.uonet-col-right{padding-top:0}
.uonet-tile,.uonet-module,.uonet-panel,.uonet-news{border:0;border-radius:0;box-shadow:none}
.uonet-gray{background:#7e7e88}.uonet-blue{background:#6aa9d4}.uonet-blue-dark{background:#5b93b9}.uonet-green{background:#1fbe76}.uonet-red{background:#ed5d69}.uonet-yellow{background:#ffe66c;color:#6f6431}
.uonet-quicklinks{min-height:83px;padding:11px 10px 10px;color:#fff}
.uonet-quicklinks a{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-size:13px;line-height:1.8}.uonet-quicklinks small{display:block;font-size:9px;margin:2px 0 0 23px;color:#f5f5f5}
.uicon{display:inline-flex;align-items:center;justify-content:center;width:19px;min-width:19px;font-size:15px;color:currentColor}.uicon.square{border:1px solid rgba(255,255,255,.88);height:17px;font-size:11px;font-family:Arial,sans-serif}
.uonet-news{min-height:83px;padding:7px 5px 7px 4px;color:#214a72;background:#f4f2eb}
.uonet-news h2{font-size:16px;line-height:1;margin:0 0 7px;font-weight:700;color:#215786}.uonet-news h2 span:last-child{vertical-align:middle}.news-badge{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#e8c900;color:#fff;font-size:10px;margin-right:2px}
.uonet-news p{margin:0 0 3px 20px;font-size:8px;color:#6b6b6b}.uonet-news a{margin-left:20px;color:#5b5b5b;font-size:8px;text-decoration:underline}
.uonet-navtile{display:flex;align-items:center;min-height:38px;padding:9px 11px;color:#fff;text-decoration:none;font-size:13px}.uonet-navtile:hover{filter:brightness(.97)}
.uonet-info-panel{background:#1fbe76;color:#fff}.uonet-panel-head,.uonet-module-head{width:100%;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;font:inherit}
.uonet-panel-head{height:32px;padding:5px 8px;border-bottom:1px solid rgba(255,255,255,.65);font-size:13px}.uonet-panel-content{min-height:43px;padding:11px 10px;font-size:8px;color:#e6fff3}
.chevron{font-size:15px;line-height:1;font-weight:700;margin-left:8px}
.uonet-mailbox{min-height:77px;padding:9px 10px}.uonet-mailbox button{display:flex;align-items:center;gap:5px;width:100%;border:0;background:transparent;color:#6f6431;text-align:left;font:8px/1.55 "Segoe UI",Arial,sans-serif;padding:0;cursor:pointer}.uonet-mailbox button:hover{text-decoration:underline}
.uonet-module{color:#fff;overflow:hidden}.uonet-module-head{min-height:42px;padding:9px 9px;font-size:12px}.uonet-module-body{background:rgba(255,255,255,.12);padding:9px 10px;font-size:10px;line-height:1.4}.uonet-module-body p{margin:0}.uonet-student{margin-top:0}
.uonet-footer{display:flex;justify-content:space-between;gap:20px;color:#909090;font-size:10px;padding:22px 2px 0}
.uonet-modal[hidden]{display:none}.uonet-modal{position:fixed;inset:0;background:rgba(0,0,0,.48);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.uonet-modal-box{position:relative;width:min(520px,100%);background:#fff;color:#444;padding:24px;box-shadow:0 14px 44px rgba(0,0,0,.28)}.uonet-modal-box h2{margin:0 0 18px;color:#397aa8;font-weight:400}.uonet-modal-box label{display:block;font-size:12px;margin:0 0 12px}.uonet-modal-box input,.uonet-modal-box textarea{width:100%;border:1px solid #cfcfcf;padding:9px;margin-top:5px;font:14px Arial,sans-serif;resize:vertical}.uonet-modal-close{position:absolute;right:10px;top:7px;border:0;background:transparent;font-size:26px;color:#777;cursor:pointer}.uonet-modal-actions{text-align:right}.uonet-action{border:0;background:#1fbe76;color:#fff;padding:9px 17px;cursor:pointer}.uonet-modal-status{min-height:16px;color:#318258;font-size:12px}.uonet-empty-state{background:#f3f3f3;padding:20px;color:#777;text-align:center;font-size:13px}
@media(min-width:900px){.uonet-shell{max-width:1160px;margin:0 auto;padding-top:26px}.uonet-board{gap:50px}.uonet-top{min-height:72px}.uonet-wordmark{font-size:27px}.uonet-mark{width:20px;height:20px}.uonet-clock{min-width:96px;font-size:25px}.uonet-date{width:96px;font-size:10px;min-height:46px}.uonet-quicklinks,.uonet-news{min-height:126px}.uonet-quicklinks a{font-size:16px}.uonet-quicklinks small{font-size:11px}.uonet-news{padding:13px 11px}.uonet-news h2{font-size:21px}.uonet-news p,.uonet-news a{font-size:11px;margin-left:24px}.uonet-navtile{min-height:53px;font-size:16px}.uonet-panel-head{height:42px;font-size:16px}.uonet-panel-content{min-height:61px;font-size:11px}.uonet-mailbox{min-height:108px;padding:14px}.uonet-mailbox button{font-size:11px;line-height:1.65}.uonet-module-head{min-height:54px;font-size:15px}.uonet-module-body{font-size:12px}.uonet-col{gap:34px}}
@media(max-width:700px){.uonet-shell{padding:12px}.uonet-top-right{gap:7px}.uonet-user-button{display:none}.uonet-board{grid-template-columns:1fr;gap:14px}.uonet-col{gap:14px}.uonet-col-center,.uonet-col-right{padding-top:0}.uonet-col-right{display:grid;grid-template-columns:1fr 1fr;gap:14px}.uonet-col-right .uonet-student,.uonet-col-right .uonet-module:last-child{grid-column:span 2}.uonet-quicklinks,.uonet-news{min-height:auto}.uonet-footer{flex-direction:column;gap:5px}.uonet-wordmark{font-size:18px}.uonet-clock{min-width:61px;font-size:17px}.uonet-date{width:64px}.uonet-mailbox button{font-size:10px}.uonet-news p,.uonet-news a{font-size:10px}}
@media(max-width:430px){.uonet-col-right{grid-template-columns:1fr}.uonet-col-right .uonet-student,.uonet-col-right .uonet-module:last-child{grid-column:auto}.uonet-date{display:none}.uonet-top-right{margin-left:auto}}

/* ======================================================================
   CPZS NET+ — panel główny odwzorowujący układ z dostarczonego zrzutu.
   Własny branding CPZS; geometria, kolory i rytm kafelków są dopasowane
   do referencji 576×393.
   ====================================================================== */
.cpzs-uonet-body{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  background:#f0f0f0;
  color:#fff;
  font-family:"Segoe UI",Tahoma,Arial,sans-serif;
  font-weight:400;
}
.cpzs-uonet-shell{
  width:576px;
  min-width:576px;
  min-height:0;
  padding:13px 10px 28px 16px;
  background:#f0f0f0;
  zoom:var(--cpzs-ui-scale,1);
}
.cpzs-uonet-topbar{
  height:50px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
}
.cpzs-uonet-brand{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:4px;
  margin-left:1px;
  color:#8eae31;
  text-decoration:none;
  white-space:nowrap;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  line-height:20px;
  font-weight:400;
  letter-spacing:-.35px;
}
.cpzs-uonet-plus{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  flex:0 0 16px;
  border-radius:2px;
  background:#90b134;
  color:#fff;
  font:700 13px/16px Arial,sans-serif;
  letter-spacing:0;
}
.cpzs-uonet-brandname{display:inline-block}
.cpzs-uonet-datetime{
  width:166px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
}
.cpzs-uonet-clock,
.cpzs-uonet-date{
  width:71px;
  flex:0 0 71px;
  background:#4362a1;
  color:#fff;
  text-align:center;
}
.cpzs-uonet-clock{
  height:25px;
  padding-top:3px;
  font-size:18px;
  line-height:20px;
  font-weight:400;
}
.cpzs-uonet-date{
  min-height:26px;
  padding:4px 3px 3px;
  font-size:7.5px;
  line-height:9px;
}
.cpzs-uonet-date strong,
.cpzs-uonet-date span{display:block;font-weight:400}

.cpzs-uonet-board{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:27px;
  align-items:start;
}
.cpzs-uonet-column{min-width:0}
.cpzs-tile,.cpzs-news-card{border:0;border-radius:0;box-shadow:none}
.cpzs-tile-gray{background:#73737e}
.cpzs-tile-green{background:#22bb6e}
.cpzs-tile-blue{background:#69a6d2}
.cpzs-tile-blue-dark{background:#5a8bae}
.cpzs-tile-red{background:#eb636f}
.cpzs-tile-yellow{background:#f5e170;color:#75672c}

.cp-icon{
  width:17px;
  height:17px;
  min-width:17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:currentColor;
}
.cp-icon svg{
  width:16px;
  height:16px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* lewa kolumna */
.cpzs-quicklinks{
  height:82px;
  padding:8px 9px 7px;
  color:#fff;
}
.cpzs-quicklinks a{
  min-height:24px;
  display:flex;
  align-items:center;
  gap:6px;
  color:#fff;
  text-decoration:none;
  font-size:12px;
  line-height:22px;
}
.cpzs-quicklinks a:hover{text-decoration:underline}
.cpzs-quicklinks small{
  display:block;
  margin:1px 0 0 23px;
  color:#fff;
  font-size:8px;
  line-height:10px;
}
.cpzs-information{
  height:75px;
  margin-top:25px;
  color:#fff;
  overflow:hidden;
}
.cpzs-panel-title{
  width:100%;
  height:32px;
  padding:5px 8px 4px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.72);
  background:transparent;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  font:400 12px/20px "Segoe UI",Tahoma,Arial,sans-serif;
}
.cpzs-panel-title>span:first-child{display:flex;align-items:center;gap:5px}
.cpzs-information-body{
  height:43px;
  padding:8px 9px;
  color:#ddf8ea;
  font-size:7.5px;
  line-height:11px;
}
.cpzs-mailbox{
  height:76px;
  margin-top:24px;
  padding:8px 9px 7px;
}
.cpzs-mailbox button,
.cpzs-mailbox a{
  width:100%;
  min-height:19px;
  display:flex;
  align-items:center;
  gap:4px;
  padding:0;
  border:0;
  background:transparent;
  color:#75672c;
  text-decoration:none;
  text-align:left;
  cursor:pointer;
  font:400 8px/19px "Segoe UI",Tahoma,Arial,sans-serif;
}
.cpzs-mailbox button:hover,.cpzs-mailbox a:hover{text-decoration:underline}
.cpzs-mailbox .cp-icon,.cpzs-mailbox .cp-icon svg{width:13px;height:13px;min-width:13px}
.cpzs-bottom-module{
  height:54px;
  margin-top:26px;
  padding:10px 8px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  color:#fff;
  text-decoration:none;
  font-size:11px;
  line-height:18px;
}
.cpzs-bottom-module>span:first-child{display:flex;align-items:center;gap:5px}

/* środkowa kolumna */
.cpzs-news-card{
  height:77px;
  padding:6px 5px 6px 4px;
  background:#f2f0e9;
  color:#2d5b7d;
}
.cpzs-news-card h2{
  display:flex;
  align-items:center;
  gap:3px;
  margin:0 0 7px;
  color:#215786;
  font-size:16px;
  line-height:18px;
  font-weight:700;
}
.cpzs-news-symbol{
  width:13px;
  height:13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#e0c500;
  color:#fff;
  font:700 9px/13px Arial,sans-serif;
}
.cpzs-news-card p{
  margin:0 0 2px 20px;
  color:#6e6e6e;
  font-size:7.5px;
  line-height:10px;
}
.cpzs-news-card a{
  margin-left:20px;
  color:#666;
  font-size:7.5px;
  line-height:10px;
  text-decoration:underline;
}
.cpzs-compact-module{
  color:#fff;
  overflow:hidden;
}
.cpzs-compact-module>button{
  width:100%;
  height:100%;
  min-height:40px;
  padding:8px 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  text-align:left;
  font:400 11px/16px "Segoe UI",Tahoma,Arial,sans-serif;
}
.cpzs-compact-module>button>span:first-child{display:flex;align-items:center;gap:5px;min-width:0}
.cpzs-compact-body{
  padding:7px 9px 9px 30px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:8px;
  line-height:12px;
}
.cpzs-center-blockades{height:41px;margin-top:129px}
.cpzs-center-days{height:43px;margin-top:25px}

/* prawa kolumna */
.cpzs-main-nav{
  height:112px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.cpzs-main-nav a{
  flex:1 1 0;
  min-height:0;
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  color:#fff;
  text-decoration:none;
  font-size:12px;
  line-height:1;
}
.cpzs-main-nav a:hover{background:rgba(255,255,255,.07)}
.cpzs-main-nav a.is-disabled{opacity:.58}
.cpzs-main-nav .cp-icon{width:17px;height:17px;min-width:17px}
.cpzs-right-student{height:43px;margin-top:26px}
.cpzs-right-plan{height:41px;margin-top:25px}
.cpzs-right-lucky{height:59px;margin-top:24px}
.cpzs-right-lucky>button{align-items:flex-start;padding-top:9px}
.cpzs-chevron{font-size:13px;font-weight:700;line-height:15px;flex:0 0 auto}

.cpzs-uonet-footer{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-top:28px;
  padding:0 2px;
  color:#8f8f8f;
  font-size:10px;
  line-height:16px;
}
.cpzs-uonet-footer a{color:#6f879a;text-decoration:none}
.cpzs-uonet-footer a:hover{text-decoration:underline}

/* proste strony modułów */
.cpzs-module-body{margin:0;background:#f0f0f0;color:#444;font-family:"Segoe UI",Tahoma,Arial,sans-serif}
.cpzs-module-shell{width:min(980px,calc(100% - 30px));margin:0 auto;padding:18px 0 45px}
.cpzs-module-header{height:56px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.cpzs-module-header>a:first-child{display:flex;align-items:center;gap:5px;color:#8eae31;text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:21px}
.cpzs-back{color:#4c84ad;text-decoration:none;font-size:13px;padding-top:6px}
.cpzs-module-card{background:#fff;border-top:4px solid #69a6d2;padding:25px 28px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.cpzs-module-card h1{margin:0 0 8px;color:#4f91be;font-weight:400;font-size:28px}.cpzs-module-card p{margin:0 0 24px;color:#666}
.cpzs-module-placeholder{padding:30px;background:#f5f5f5;color:#888;text-align:center;font-size:13px}

/* dialogi zachowują funkcjonalność wcześniejszej wersji */
.uonet-modal[hidden]{display:none!important}
.uonet-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.48)}
.uonet-modal-box{position:relative;width:min(520px,100%);background:#fff;color:#444;padding:24px;box-shadow:0 14px 44px rgba(0,0,0,.28)}
.uonet-modal-box h2{margin:0 0 18px;color:#397aa8;font-weight:400}.uonet-modal-box label{display:block;font-size:12px;margin:0 0 12px}.uonet-modal-box input,.uonet-modal-box textarea{width:100%;border:1px solid #cfcfcf;padding:9px;margin-top:5px;font:14px Arial,sans-serif;resize:vertical}.uonet-modal-close{position:absolute;right:10px;top:7px;border:0;background:transparent;font-size:26px;color:#777;cursor:pointer}.uonet-modal-actions{text-align:right}.uonet-action{border:0;background:#22bb6e;color:#fff;padding:9px 17px;cursor:pointer}.uonet-modal-status{min-height:16px;color:#318258;font-size:12px}.uonet-empty-state{background:#f3f3f3;padding:20px;color:#777;text-align:center;font-size:13px}

/* Telefon: układ pozostaje kafelkowy, ale przechodzi w jedną kolumnę. */
@media(max-width:479px){
  .cpzs-uonet-shell{width:100%;min-width:0;zoom:1!important;padding:10px 12px 24px}
  .cpzs-uonet-topbar{height:48px}.cpzs-uonet-datetime{width:auto;gap:8px}.cpzs-uonet-clock{width:62px;flex-basis:62px}.cpzs-uonet-date{width:66px;flex-basis:66px}.cpzs-uonet-brand{font-size:18px}
  .cpzs-uonet-board{grid-template-columns:1fr;gap:14px}.cpzs-uonet-column{display:flex;flex-direction:column;gap:14px}.cpzs-information,.cpzs-mailbox,.cpzs-bottom-module,.cpzs-center-blockades,.cpzs-center-days,.cpzs-right-student,.cpzs-right-plan,.cpzs-right-lucky{margin-top:0}.cpzs-center-blockades,.cpzs-center-days{height:auto;min-height:43px}.cpzs-main-nav{height:auto}.cpzs-main-nav a{min-height:44px}.cpzs-uonet-footer{flex-direction:column;gap:3px}
}
.cpzs-compact-module.is-expanded{height:auto!important;min-height:41px}

/* ======================================================================
   CPZS NET+ v4 — pełnoekranowy pulpit w stylu klasycznego e-dziennika.
   Własny branding CPZS, czyste adresy i responsywny układ.
   ====================================================================== */
.cpzs-dashboard-v4{background:#ededed;color:#fff;min-height:100vh;overflow-x:hidden}
.cpzs-systembar{height:42px;background:#2d2c37;border-top:1px solid #24232c;border-bottom:1px solid #3d3c49;color:#fff;width:100%}
.cpzs-systembar-inner{width:min(1120px,calc(100% - 42px));height:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cpzs-system-logo{font:400 19px/1 Georgia,"Times New Roman",serif;letter-spacing:.2px;color:#fff;text-decoration:none;text-transform:uppercase}
.cpzs-system-logo::after{content:"";display:block;width:34px;height:1px;margin:2px auto 0;background:rgba(255,255,255,.35)}
.cpzs-system-user{display:flex;align-items:center;gap:7px;color:#dfdfe5;font-size:10px;line-height:1}
.cpzs-system-user a{color:#fff;text-decoration:none}.cpzs-system-user a:hover{text-decoration:underline}.cpzs-system-user-sep{opacity:.45}

.cpzs-desktop-canvas{position:relative;min-height:calc(100vh - 42px);background:#f3f3f3;overflow:hidden}
.cpzs-uonet-shell-v4{position:relative;z-index:2;width:min(1000px,calc(100% - 90px));min-width:0;min-height:calc(100vh - 42px);margin:0 auto;padding:42px 0 32px;background:transparent;zoom:1!important}
.cpzs-uonet-topbar-v4{height:74px;margin:0;display:flex;align-items:flex-start;justify-content:space-between}
.cpzs-uonet-topbar-v4 .cpzs-uonet-brand{margin:3px 0 0 2px;font-size:30px;line-height:31px;letter-spacing:-1.1px;color:#8fb331}
.cpzs-uonet-topbar-v4 .cpzs-uonet-plus{width:23px;height:23px;flex-basis:23px;border-radius:3px;font:700 18px/23px Arial,sans-serif}
.cpzs-uonet-toolbar{display:flex;align-items:flex-start;gap:12px;padding-top:0}
.cpzs-toolbar-icon{width:27px;height:27px;display:flex;align-items:center;justify-content:center;color:#426ba5;text-decoration:none;margin-top:6px}.cpzs-toolbar-icon.is-muted{color:#bfc1c5}.cpzs-toolbar-icon .cp-icon,.cpzs-toolbar-icon .cp-icon svg{width:20px;height:20px;min-width:20px}
.cpzs-uonet-topbar-v4 .cpzs-uonet-datetime{width:auto;gap:18px;margin-left:6px}
.cpzs-uonet-topbar-v4 .cpzs-uonet-clock{width:86px;height:43px;flex:0 0 86px;padding:5px 7px 0;background:#4568a7;font-size:28px;line-height:34px;font-weight:300}
.cpzs-uonet-topbar-v4 .cpzs-uonet-date{width:92px;min-height:43px;flex:0 0 92px;padding:7px 6px 4px;background:#4568a7;font-size:10px;line-height:13px}

.cpzs-v4-grid{display:grid;grid-template-columns:1.1fr 1fr 1.08fr;grid-template-rows:auto auto auto auto;grid-template-areas:"quick news mainnav" "plan council mail" "plan locks lucky" "days trips lucky";column-gap:34px;row-gap:28px;align-items:start}
.cpzs-area-quick{grid-area:quick}.cpzs-area-news{grid-area:news}.cpzs-area-mainnav{grid-area:mainnav}.cpzs-area-plan{grid-area:plan}.cpzs-area-council{grid-area:council}.cpzs-area-mail{grid-area:mail}.cpzs-area-locks{grid-area:locks}.cpzs-area-days{grid-area:days}.cpzs-area-trips{grid-area:trips}.cpzs-area-lucky{grid-area:lucky}
.cpzs-v4-grid .cpzs-tile,.cpzs-v4-grid .cpzs-news-card{width:100%;margin:0!important;height:auto;min-height:0;box-shadow:none;border-radius:0;overflow:hidden}
.cpzs-v4-grid .cpzs-tile-gray{background:#777781}.cpzs-v4-grid .cpzs-tile-blue{background:#67a6d1}.cpzs-v4-grid .cpzs-tile-blue-dark{background:#5e96bb}.cpzs-v4-grid .cpzs-tile-green{background:#22bc72}.cpzs-v4-grid .cpzs-tile-red{background:#ed626d}.cpzs-v4-grid .cpzs-tile-yellow{background:#f8e36d;color:#73672b}

.cpzs-v4-grid .cpzs-quicklinks{height:137px;padding:17px 17px 12px}
.cpzs-v4-grid .cpzs-quicklinks a{min-height:38px;gap:10px;font-size:18px;line-height:30px;font-weight:300}.cpzs-v4-grid .cpzs-quicklinks small{margin:0 0 0 31px;font-size:11px;line-height:16px}
.cpzs-v4-grid .cpzs-quicklinks .cp-icon,.cpzs-v4-grid .cpzs-quicklinks .cp-icon svg{width:23px;height:23px;min-width:23px}

.cpzs-v4-grid .cpzs-news-card{height:137px;padding:17px 10px 10px 17px;background:#f4f2eb;color:#2c5879}
.cpzs-v4-grid .cpzs-news-card h2{gap:5px;margin:0 0 14px;font-size:26px;line-height:28px;color:#245a84}.cpzs-v4-grid .cpzs-news-symbol{width:24px;height:24px;font-size:16px;line-height:24px;background:#e5c900}.cpzs-v4-grid .cpzs-news-card p,.cpzs-v4-grid .cpzs-news-card a{margin-left:31px;font-size:12px;line-height:17px}.cpzs-v4-grid .cpzs-news-card p{margin-bottom:4px}

.cpzs-v4-grid .cpzs-main-nav{height:auto;min-height:137px;display:flex;flex-direction:column}.cpzs-v4-grid .cpzs-main-nav a{min-height:46px;flex:1 1 46px;padding:0 16px;gap:11px;font-size:18px;line-height:1;font-weight:300}.cpzs-v4-grid .cpzs-main-nav a+a{border-top:1px solid rgba(255,255,255,.12)}.cpzs-v4-grid .cpzs-main-nav .cp-icon,.cpzs-v4-grid .cpzs-main-nav .cp-icon svg{width:21px;height:21px;min-width:21px}

.cpzs-plan-card{min-height:245px!important;color:#fff}.cpzs-panel-title-large{height:52px;padding:8px 15px;border-bottom:1px solid rgba(255,255,255,.7);font-size:19px;line-height:24px}.cpzs-panel-title-large>span:first-child{gap:10px}.cpzs-panel-title-large .cp-icon,.cpzs-panel-title-large .cp-icon svg{width:22px;height:22px;min-width:22px}.cpzs-plan-body{padding:16px 17px 17px;color:#fff;font-size:12px;line-height:17px}.cpzs-plan-body strong{display:block;margin:0 0 5px;font-size:13px}.cpzs-plan-body ol{list-style:none;margin:0;padding:0}.cpzs-plan-body li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cpzs-plan-body li b{display:inline-block;width:19px;font-weight:600}

.cpzs-v4-grid .cpzs-compact-module>button{min-height:52px;height:auto;padding:10px 15px;gap:9px;font-size:17px;line-height:23px;font-weight:300}.cpzs-v4-grid .cpzs-compact-module>button>span:first-child{gap:10px}.cpzs-v4-grid .cpzs-compact-module .cp-icon,.cpzs-v4-grid .cpzs-compact-module .cp-icon svg{width:21px;height:21px;min-width:21px}.cpzs-v4-grid .cpzs-compact-body{padding:12px 16px;color:rgba(255,255,255,.85);font-size:11px;line-height:16px;border-top:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.035)}
.cpzs-v4-grid .cpzs-area-council{min-height:94px}.cpzs-v4-grid .cpzs-area-locks{min-height:94px}.cpzs-v4-grid .cpzs-area-days{min-height:94px}.cpzs-v4-grid .cpzs-area-lucky{min-height:160px}.cpzs-v4-grid .cpzs-area-lucky>button{align-items:flex-start}.cpzs-v4-grid .cpzs-area-lucky .cpzs-compact-body{min-height:80px}

.cpzs-v4-grid .cpzs-mailbox{height:124px;padding:14px 15px}.cpzs-v4-grid .cpzs-mailbox button,.cpzs-v4-grid .cpzs-mailbox a{min-height:31px;gap:9px;font-size:12px;line-height:30px;color:#73672b}.cpzs-v4-grid .cpzs-mailbox .cp-icon,.cpzs-v4-grid .cpzs-mailbox .cp-icon svg{width:17px;height:17px;min-width:17px}
.cpzs-v4-grid .cpzs-bottom-module{min-height:82px;padding:13px 15px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:start;gap:5px 8px;font-size:16px;line-height:21px}.cpzs-v4-grid .cpzs-bottom-module>span:first-child{gap:9px}.cpzs-v4-grid .cpzs-bottom-module small{grid-column:1/-1;padding-left:30px;color:rgba(255,255,255,.85);font-size:10px;line-height:14px}
.cpzs-v4-grid .cpzs-chevron{font-size:16px;line-height:22px}
.cpzs-uonet-footer-v4{margin:30px 0 0;padding:14px 1px 0;border-top:1px solid #dadada;color:#8a8a8a;font-size:9px;line-height:14px}.cpzs-uonet-footer-v4 a{color:#7d8791}

.cpzs-decor{position:absolute;top:78px;bottom:56px;width:160px;z-index:1;pointer-events:none}.cpzs-decor::before{content:"";position:absolute;inset:0;background:#e8e8e8}.cpzs-decor i,.cpzs-decor b{position:absolute;display:block;width:14px}.cpzs-decor-left{left:max(0px,calc(50% - 670px))}.cpzs-decor-left i{left:0;top:0;height:112px;background:#9cc7df}.cpzs-decor-left b{left:0;top:286px;height:96px;background:#45c78d}.cpzs-decor-right{right:max(0px,calc(50% - 670px))}.cpzs-decor-right i{right:0;top:155px;height:105px;background:#6bc995}.cpzs-decor-right b{right:0;top:370px;height:84px;background:#8bb8d0}

/* Moduły v4 */
.cpzs-module-v4{background:#f1f1f1;color:#3e4147;min-height:100vh;font-family:"Segoe UI",Tahoma,Arial,sans-serif}.cpzs-module-v4 .cpzs-systembar{position:relative}.cpzs-module-frame{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:26px 0 46px}.cpzs-module-top{height:70px;display:flex;align-items:flex-start;justify-content:space-between}.cpzs-module-brand{margin:4px 0 0;font-size:25px!important;line-height:27px!important}.cpzs-module-brand .cpzs-uonet-plus{width:20px;height:20px;flex-basis:20px;font-size:15px;line-height:20px}.cpzs-module-clock{display:flex;align-items:stretch;gap:10px;color:#fff}.cpzs-module-clock>span{display:flex;align-items:center;justify-content:center;min-width:86px;height:39px;padding:0 10px;background:#4568a7;font-size:24px;font-weight:300}.cpzs-module-clock>small{display:flex;align-items:center;justify-content:center;min-width:120px;height:39px;padding:0 10px;background:#4568a7;text-align:center;font-size:9px;line-height:12px}
.cpzs-module-mainnav{height:44px;display:flex;align-items:stretch;background:#73737e;margin-bottom:22px;overflow-x:auto}.cpzs-module-nav-item{display:flex;align-items:center;padding:0 20px;color:#fff;text-decoration:none;font-size:13px;white-space:nowrap;border-right:1px solid rgba(255,255,255,.18)}.cpzs-module-nav-item:hover,.cpzs-module-nav-item.is-active{background:#5f95bb}.cpzs-module-nav-item:first-child{background:#666671}.cpzs-module-nav-item:first-child:hover{background:#5d5d68}
.cpzs-module-workspace{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:590px;background:#fff;border:1px solid #dedede}.cpzs-module-sidebar{background:#f3f3f3;border-right:1px solid #ddd;padding:0 0 25px}.cpzs-module-sidebar h2{margin:0;padding:19px 18px;background:#69a6d2;color:#fff;font-size:19px;font-weight:300}.cpzs-module-sidebar button{width:100%;min-height:42px;padding:9px 17px;border:0;border-bottom:1px solid #e0e0e0;background:transparent;color:#555;text-align:left;font:13px/20px "Segoe UI",Tahoma,Arial,sans-serif;cursor:pointer}.cpzs-module-sidebar button:hover{background:#e8e8e8}.cpzs-module-sidebar button.is-active{background:#fff;color:#2b6c98;border-left:4px solid #69a6d2;padding-left:13px;font-weight:600}
.cpzs-module-content{padding:25px 29px 34px;min-width:0}.cpzs-module-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:19px;border-bottom:1px solid #e3e3e3}.cpzs-module-heading h1{margin:0 0 5px;color:#3e82b1;font-size:29px;line-height:34px;font-weight:300}.cpzs-module-heading p{margin:0;color:#777;font-size:12px;line-height:18px}.cpzs-back-v4{margin-top:7px;color:#5f8faa;text-decoration:none;font-size:12px;white-space:nowrap}.cpzs-back-v4:hover{text-decoration:underline}
.cpzs-worktab{display:none;padding-top:24px}.cpzs-worktab.is-active{display:block}.cpzs-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.cpzs-stat{min-height:105px;padding:16px 18px;background:#f3f3f3;border-top:4px solid #69a6d2}.cpzs-stat span,.cpzs-stat small{display:block;color:#777;font-size:11px}.cpzs-stat strong{display:block;margin:5px 0;color:#3e82b1;font-size:29px;line-height:32px;font-weight:300}.cpzs-data-card{border:1px solid #ddd;background:#fff}.cpzs-data-card h3{margin:0;padding:12px 15px;background:#f0f0f0;color:#555;font-size:14px;font-weight:600;border-bottom:1px solid #ddd}.cpzs-data-card>p{margin:0;padding:20px;color:#666;font-size:13px}.cpzs-table-row{display:grid;grid-template-columns:120px 110px 1fr 100px;gap:12px;align-items:center;min-height:45px;padding:8px 14px;border-bottom:1px solid #ececec;font-size:12px}.cpzs-table-head{min-height:37px;background:#fafafa;color:#777;font-size:10px;text-transform:uppercase}.cpzs-status-ok{display:inline-block;padding:4px 8px;background:#22bb6e;color:#fff;font-size:10px;font-weight:400}.cpzs-lesson-list>div{display:grid;grid-template-columns:120px 1fr 100px;gap:15px;align-items:center;padding:13px 15px;border-bottom:1px solid #eee;font-size:12px}.cpzs-lesson-list b{color:#4d7899}.cpzs-lesson-list small{color:#888}.cpzs-grade-row{display:grid;grid-template-columns:1fr repeat(3,42px);gap:10px;align-items:center;padding:14px 15px;border-bottom:1px solid #eee;font-size:12px}.cpzs-grade-row b{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#70b72f;color:#fff;font-size:15px;font-weight:400}.cpzs-progress{height:18px;margin:24px 20px 10px;background:#e6e6e6}.cpzs-progress span{display:block;height:100%;background:#22bb6e}.cpzs-data-card .cpzs-progress+p{padding-top:8px}

@media(max-width:1120px){.cpzs-uonet-shell-v4{width:min(900px,calc(100% - 50px))}.cpzs-v4-grid{column-gap:24px;row-gap:22px}.cpzs-decor{display:none}.cpzs-v4-grid .cpzs-quicklinks a{font-size:16px}.cpzs-v4-grid .cpzs-news-card h2{font-size:23px}.cpzs-v4-grid .cpzs-main-nav a{font-size:16px}.cpzs-v4-grid .cpzs-compact-module>button{font-size:15px}}
@media(max-width:840px){.cpzs-systembar-inner{width:calc(100% - 28px)}.cpzs-uonet-shell-v4{width:calc(100% - 28px);padding-top:24px}.cpzs-uonet-topbar-v4{height:68px}.cpzs-uonet-topbar-v4 .cpzs-uonet-brand{font-size:24px}.cpzs-uonet-topbar-v4 .cpzs-uonet-clock{width:72px;flex-basis:72px;height:36px;font-size:22px;line-height:27px}.cpzs-uonet-topbar-v4 .cpzs-uonet-date{width:78px;flex-basis:78px;min-height:36px;font-size:8px;line-height:10px}.cpzs-toolbar-icon{display:none}.cpzs-v4-grid{grid-template-columns:1fr 1fr;grid-template-areas:"quick news" "mainnav mainnav" "plan council" "plan locks" "mail lucky" "days lucky" "trips trips"}.cpzs-v4-grid .cpzs-main-nav{display:grid;grid-template-columns:repeat(2,1fr);min-height:0}.cpzs-v4-grid .cpzs-main-nav a{min-height:50px}.cpzs-module-frame{width:calc(100% - 28px)}.cpzs-module-workspace{grid-template-columns:190px minmax(0,1fr)}.cpzs-stat-grid{grid-template-columns:1fr}.cpzs-table-row{grid-template-columns:90px 80px 1fr}.cpzs-table-row span:last-child{display:none}}
@media(max-width:560px){.cpzs-systembar{height:38px}.cpzs-system-user-label{display:none}.cpzs-desktop-canvas{min-height:calc(100vh - 38px)}.cpzs-uonet-shell-v4{width:100%;padding:16px 12px 24px}.cpzs-uonet-topbar-v4{height:58px}.cpzs-uonet-topbar-v4 .cpzs-uonet-brand{font-size:21px;line-height:23px}.cpzs-uonet-topbar-v4 .cpzs-uonet-plus{width:18px;height:18px;flex-basis:18px;font-size:14px;line-height:18px}.cpzs-uonet-topbar-v4 .cpzs-uonet-datetime{gap:7px}.cpzs-uonet-topbar-v4 .cpzs-uonet-clock{width:61px;flex-basis:61px;height:32px;padding-top:3px;font-size:19px}.cpzs-uonet-topbar-v4 .cpzs-uonet-date{width:66px;flex-basis:66px;min-height:32px;padding-top:5px;font-size:7px;line-height:9px}.cpzs-v4-grid{display:flex;flex-direction:column;gap:12px}.cpzs-v4-grid>*{width:100%}.cpzs-v4-grid .cpzs-quicklinks,.cpzs-v4-grid .cpzs-news-card{height:auto;min-height:115px}.cpzs-plan-card{min-height:0!important}.cpzs-v4-grid .cpzs-main-nav{display:flex;min-height:0}.cpzs-v4-grid .cpzs-area-council,.cpzs-v4-grid .cpzs-area-locks,.cpzs-v4-grid .cpzs-area-days,.cpzs-v4-grid .cpzs-area-lucky{min-height:0}.cpzs-module-frame{width:100%;padding:15px 10px 28px}.cpzs-module-top{height:52px}.cpzs-module-clock>small{display:none}.cpzs-module-mainnav{margin-bottom:12px}.cpzs-module-workspace{display:block;min-height:0}.cpzs-module-sidebar{border-right:0;border-bottom:1px solid #ddd;padding-bottom:0;overflow-x:auto;white-space:nowrap}.cpzs-module-sidebar h2{padding:14px 15px}.cpzs-module-sidebar button{display:inline-block;width:auto;min-height:38px;padding:8px 13px;border-bottom:0;border-right:1px solid #ddd}.cpzs-module-sidebar button.is-active{border-left:0;border-bottom:3px solid #69a6d2;padding-left:13px}.cpzs-module-content{padding:18px 14px 24px}.cpzs-module-heading{display:block}.cpzs-back-v4{display:inline-block;margin-top:10px}.cpzs-table-row{grid-template-columns:76px 1fr}.cpzs-table-row span:nth-child(2){display:none}.cpzs-lesson-list>div{grid-template-columns:88px 1fr}.cpzs-lesson-list small{display:none}}

.cpzs-progress .cpzs-progress-96{width:96%}

/* ======================================================================
   Administrator — role i moduły v5
   ====================================================================== */
.role-admin-wrap{max-width:1320px;margin:32px auto;padding:0 22px 60px}.role-admin-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}.role-admin-head h1{margin:0;font-size:34px}.role-admin-head p{margin:6px 0 0;color:#6c7881}.role-card{background:#fff;border:1px solid #dbe2e7;padding:24px;margin-bottom:24px}.role-card h2{margin:0 0 12px}.role-card-copy{margin:0 0 18px;color:#6f7b85;line-height:1.45}.role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.role-option,.module-option{display:flex;gap:9px;align-items:flex-start;padding:11px;border:1px solid #dce3e8;background:#f9fafb;cursor:pointer}.role-option input,.module-option input{margin-top:3px}.role-option b,.module-option b{display:block;font-size:14px}.role-option small,.module-option small{display:block;color:#74808a;margin-top:3px;line-height:1.25}.module-option.is-disabled{opacity:.5;cursor:not-allowed;background:#f1f1f1}.module-option.is-forced{border-color:#93b4ca;background:#eef6fb}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role-config-list{display:grid;gap:16px}.role-config{border:1px solid #dce3e8;background:#fbfcfd;padding:16px}.role-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.role-config-head h3{margin:0 0 4px;font-size:20px}.role-config-head p{margin:0;color:#74808a;font-size:13px;line-height:1.4}.role-users{display:grid;gap:16px}.role-user{background:#fff;border:1px solid #dbe2e7;padding:18px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(420px,2fr) auto;gap:18px;align-items:center}.role-user-name{font-size:18px;font-weight:600}.role-user-meta{color:#71808a;font-size:13px;margin-top:4px;line-height:1.5}.role-user .role-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}.role-actions{display:flex;gap:8px;flex-direction:column}.role-badge{display:inline-block;margin-top:8px;padding:4px 8px;background:#edf3f7;color:#51626f;font-size:12px}.role-save{margin-bottom:0}.role-note{padding:14px 16px;background:#eef6fb;border-left:4px solid #5b8bae;margin:0 0 22px;line-height:1.45}.role-note strong{color:#365c99}@media(max-width:1050px){.module-grid,.role-grid,.role-user .role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-user{grid-template-columns:1fr}.role-actions{flex-direction:row}}@media(max-width:620px){.module-grid,.role-grid,.role-user .role-grid{grid-template-columns:1fr}.role-config-head{display:block}.role-config-head .btn{margin-top:12px}.role-admin-wrap{padding-left:12px;padding-right:12px}}

/* V79 — publiczna rejestracja własnej symulacji szkoły */
.hero-login{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap}.hero-login .btn-school-create{background:#2b2938;border-color:#2b2938}.hero-login .btn-school-create:hover{filter:brightness(1.08)}
/* EDUCPZS SVG brand */
.topbar .brand img{width:auto;max-width:330px;height:72px;object-fit:contain}
@media(max-width:600px){.topbar .brand img{max-width:250px;height:56px}}

/* V142 — Dokumentacja do uzupełnienia: widok rzeczywistych pozycji wg roli. */
.cpzs-doc-scope-number{font-size:25px!important}
.cpzs-doc-card{overflow:hidden}
.cpzs-doc-table{display:grid;grid-template-columns:minmax(240px,1.45fr) minmax(120px,.65fr) minmax(210px,1fr) 110px;gap:14px;align-items:center;min-height:58px;padding:10px 14px;border-bottom:1px solid #ececec;font-size:12px}
.cpzs-doc-table-head{min-height:38px;background:#fafafa;color:#777;font-size:10px;text-transform:uppercase}
.cpzs-doc-table>span{min-width:0}
.cpzs-doc-table b,.cpzs-doc-table small,.cpzs-doc-table em{display:block}
.cpzs-doc-table b{color:#445d70;font-weight:600;overflow-wrap:anywhere}
.cpzs-doc-table small{margin-top:2px;color:#777;line-height:1.3}
.cpzs-doc-table em{margin-top:4px;color:#8a6541;font-size:10px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpzs-doc-table.is-own-action{background:#f6fbef;box-shadow:inset 4px 0 0 #78ad36}
.cpzs-doc-open{display:inline-block;padding:7px 9px;background:#4f83ad;color:#fff!important;text-decoration:none;font-size:11px;font-weight:600;white-space:nowrap}
.cpzs-doc-open:hover,.cpzs-doc-open:focus-visible{background:#376f9d;outline:2px solid #b8d4e8;outline-offset:1px}
@media(max-width:840px){.cpzs-doc-table{grid-template-columns:minmax(180px,1.3fr) minmax(100px,.7fr) minmax(160px,1fr) 90px;gap:8px}.cpzs-doc-table .cpzs-doc-open{padding:6px}}
@media(max-width:560px){.cpzs-doc-table{grid-template-columns:1fr auto;gap:8px}.cpzs-doc-table-head span:nth-child(2),.cpzs-doc-table-head span:nth-child(3),.cpzs-doc-table>span:nth-child(2){display:none}.cpzs-doc-table>span:nth-child(3){grid-column:1/2}.cpzs-doc-table>span:nth-child(4){grid-column:2/3;grid-row:1/3}.cpzs-doc-table-head>span:nth-child(4){display:block;grid-column:2/3}}
