:root{
  --plan-green:#24517a;
  --plan-green-light:#f3f7fb;
  --plan-green-mid:#dbe7f1;
  --plan-blue:#173a59;
  --plan-border:#c8d6e2;
  --plan-now:#fff4cc;
  --plan-now-border:#c58a12;
  --plan-today:#f5f9fc;
}
*{box-sizing:border-box}
body{
  background:#fff;
  color:#111;
  font:14px Verdana,Arial,sans-serif;
  overflow-x:auto;
  margin:0;
  -webkit-text-size-adjust:100%;
}
.tabtytul{
  background:var(--plan-green);
  border-bottom:2px solid #808080;
}
.tytul{
  background:var(--plan-green);
  color:#fff;
  height:72px;
  font:bold 32px Verdana,Arial,sans-serif;
  border-bottom:2px solid #c0c0c0;
  text-align:center;
}
.tytulnapis{padding:0 10px}

/* Główna tabela planu */
table.tabela{
  border-collapse:collapse;
  border:1px solid var(--plan-border);
  background:#fff;
  width:min(1180px, calc(100vw - 24px));
  table-layout:fixed;
}
table.tabela th,
table.tabela td{
  border:1px solid var(--plan-border);
  padding:7px 6px;
  line-height:1.35;
}
table.tabela th{
  background:var(--plan-green-mid);
  color:var(--plan-blue);
  font-size:13px;
  text-align:center;
}
table.tabela td{font-size:12px}
td.g{
  background:var(--plan-green-light);
  color:var(--plan-blue);
  font-weight:bold;
  vertical-align:top;
  text-align:center;
  white-space:nowrap;
}
td.nr{
  background:var(--plan-green-mid);
  color:var(--plan-blue);
  font-weight:bold;
  text-align:center;
  vertical-align:top;
  width:42px;
}
td.l{background:#fff;color:#000;vertical-align:top}
a.n,a.s,a.k{color:var(--plan-blue)}
.p{color:#000;font-weight:bold}
.op{font:10px Verdana,Arial,sans-serif}
.logo{text-align:right;border-bottom:2px solid #c0c0c0}

/* Dzisiejszy dzień i aktualna lekcja */
table.tabela .is-today-column{background:var(--plan-today)}
table.tabela th.is-today-column{background:#c5d9e8}
table.tabela td.is-current-cell{
  background:var(--plan-now) !important;
  outline:3px solid var(--plan-now-border);
  outline-offset:-3px;
  position:relative;
  font-weight:600;
}
table.tabela td.is-current-cell::after{
  content:'TERAZ';
  display:inline-block;
  margin-left:6px;
  padding:2px 6px;
  border-radius:999px;
  background:var(--plan-now-border);
  color:#fff;
  font:bold 10px Verdana,Arial,sans-serif;
  vertical-align:1px;
}
table.tabela tr.is-current-row > td.g,
table.tabela tr.is-current-row > td.nr{background:#f3dfad}

/* Pasek nad planem dodawany automatycznie przez plan.js */
.plan-live{
  width:min(1180px, calc(100vw - 24px));
  margin:14px auto 10px;
  font:14px Verdana,Arial,sans-serif;
}
.plan-status{
  border:1px solid var(--plan-border);
  border-left:5px solid var(--plan-green);
  border-radius:10px;
  padding:10px 12px;
  background:#f7f9fb;
  color:#222;
}
.plan-status strong{display:block;margin-bottom:3px;font-size:14px}
.plan-status small{color:#555}
.plan-status.is-now{
  background:#fff9d8;
  border-left-color:var(--plan-now-border);
}
.plan-days{
  display:none;
  gap:6px;
  overflow-x:auto;
  padding:8px 0 2px;
  scrollbar-width:thin;
}
.plan-day-btn{
  min-width:58px;
  min-height:42px;
  padding:8px 10px;
  border:1px solid #aebdcc;
  border-radius:8px;
  background:#fff;
  color:#173a59;
  font:600 13px Verdana,Arial,sans-serif;
  cursor:pointer;
}
.plan-day-btn[aria-selected="true"]{
  background:var(--plan-green);
  color:#fff;
  border-color:#173a59;
}
.plan-day-btn.is-today:not([aria-selected="true"]){
  box-shadow:inset 0 0 0 2px var(--plan-green);
}

/* Dyskretne informacje techniczne pod planem */
.op{
  font:9px Verdana,Arial,sans-serif !important;
  line-height:1.25;
  color:#8a949d;
  opacity:.72;
}
.op a{
  color:#6f7f8d !important;
  text-decoration:none;
}
.op img{
  width:24px !important;
  height:24px !important;
  opacity:.55;
  margin-left:5px !important;
}
/* „Drukuj plan” – pozostaje dostępne, ale nie przyciąga wzroku */
table.tabela + table,
td[align="left"] > a[href*="print"]{
  font-size:9px !important;
  color:#7e8992 !important;
}
td[align="left"] > a[href*="print"]{
  text-decoration:none;
  opacity:.75;
}
td[align="left"] > a[href*="print"]:hover,
.op a:hover{
  opacity:1;
  text-decoration:underline;
}

/* Responsywność */
@media (max-width:760px){
  body{overflow-x:hidden;font-size:14px}
  .tabtytul{width:100% !important}
  .tytul{height:58px;font-size:25px}
  .tabtytul img{height:58px !important}
  body > div[align="center"]{width:100%;padding:0 8px}
  body > div[align="center"] > table{width:100%;margin:0}
  body > div[align="center"] > table > tbody > tr > td{padding:0 !important}
  .plan-live{width:100%;margin:10px auto 8px;padding:0}
  .plan-days{display:flex}

  table.tabela{
    width:100%;
    table-layout:auto;
    margin:0;
  }
  table.tabela th,table.tabela td{padding:10px 8px;font-size:14px}
  table.tabela th:nth-child(1),
  table.tabela td:nth-child(1){display:none}
  table.tabela th:nth-child(n+3),
  table.tabela td:nth-child(n+3){display:none}
  table.tabela th:nth-child(2),
  table.tabela td:nth-child(2){display:table-cell;width:102px;min-width:102px}

  body[data-plan-day="1"] table.tabela th:nth-child(3),body[data-plan-day="1"] table.tabela td:nth-child(3),
  body[data-plan-day="2"] table.tabela th:nth-child(4),body[data-plan-day="2"] table.tabela td:nth-child(4),
  body[data-plan-day="3"] table.tabela th:nth-child(5),body[data-plan-day="3"] table.tabela td:nth-child(5),
  body[data-plan-day="4"] table.tabela th:nth-child(6),body[data-plan-day="4"] table.tabela td:nth-child(6),
  body[data-plan-day="5"] table.tabela th:nth-child(7),body[data-plan-day="5"] table.tabela td:nth-child(7){
    display:table-cell;
    width:auto;
  }

  table.tabela td.l{min-height:48px;word-break:normal;overflow-wrap:anywhere}
  table.tabela td.l .p{display:block;margin-bottom:3px;font-size:14px}
  table.tabela td.l a{display:inline-block;margin-right:6px;padding:2px 0}
  .op{font-size:8px !important;opacity:.62}
  td[align="left"] > a[href*="print"]{font-size:8px !important}
  .op img{width:20px !important;height:20px !important}
}

@media print{
  .tabtytul{display:none}
  .plan-live{display:none !important}
  body{overflow:visible}
  table.tabela{width:100%;table-layout:auto}
  table.tabela th,table.tabela td{display:table-cell !important;font-size:10px;padding:4px}
  table.tabela td.is-current-cell{outline:none;background:#fff !important}
  table.tabela td.is-current-cell::after{display:none}
}


/* SP3 v3 — techniczne informacje pod planem prawie niewidoczne */
.op,
.op td,
.op a,
td[align="left"] > a[href^="javascript:window.print"],
body > div[align="center"] p[align="left"],
body > div[align="center"] p[align="left"] a {
  color:#fff !important;
  font-size:4px !important;
  line-height:1 !important;
  font-weight:normal !important;
  text-decoration:none !important;
}
.op table,
.op tbody,
.op tr,
.op td {
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
}
.op img {
  width:3px !important;
  height:3px !important;
  margin:0 !important;
  opacity:.03 !important;
}
td[align="left"] > a[href^="javascript:window.print"],
body > div[align="center"] p[align="left"] a {
  opacity:.08 !important;
}
body > div[align="center"] p[align="left"] {
  margin:1px 0 0 !important;
  padding:0 !important;
  height:4px !important;
  overflow:hidden !important;
}

/* SP3 v8 — zabezpieczenie po włączeniu prawdziwego viewportu mobilnego */
@media (max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .plan-live, table.tabela{max-width:100%}
  table.tabela th:nth-child(2),table.tabela td:nth-child(2){width:88px;min-width:88px}
}
@media (max-width:380px){
  table.tabela th,table.tabela td{padding:8px 5px;font-size:12px}
  table.tabela td.l .p{font-size:13px}
  table.tabela th:nth-child(2),table.tabela td:nth-child(2){width:78px;min-width:78px;font-size:11px}
  .plan-day-btn{min-width:52px;padding:7px 8px}
}

/* SP3 v9 — widoczny link powrotu do strony głównej planu */
body > div[align="center"] p[align="left"] {
  margin:14px 0 8px !important;
  padding:0 !important;
  height:auto !important;
  overflow:visible !important;
  line-height:1.3 !important;
}
body > div[align="center"] p[align="left"] a[href="../index.html"] {
  color:#173b63 !important;
  font-size:14px !important;
  line-height:1.3 !important;
  font-weight:600 !important;
  text-decoration:none !important;
  opacity:1 !important;
}
body > div[align="center"] p[align="left"] a[href="../index.html"]:hover,
body > div[align="center"] p[align="left"] a[href="../index.html"]:focus {
  text-decoration:underline !important;
}
@media (max-width:760px){
  body > div[align="center"] p[align="left"] {
    margin:16px 0 10px !important;
  }
  body > div[align="center"] p[align="left"] a[href="../index.html"] {
    font-size:16px !important;
  }
}

/* SP3 v10 — mały przycisk powrotu do strony głównej planu */
body > div[align="center"] p.plan-back-wrap{
  margin:16px 0 10px !important;
  padding:0 !important;
  height:auto !important;
  overflow:visible !important;
  line-height:1 !important;
}
body > div[align="center"] p.plan-back-wrap a.plan-back-button{
  display:inline-flex !important;
  align-items:center;
  min-height:34px;
  padding:7px 11px !important;
  border:1px solid #173b63;
  border-radius:7px;
  background:#173b63;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:600 !important;
  text-decoration:none !important;
  opacity:1 !important;
}
@media (hover:hover) and (pointer:fine){
  body > div[align="center"] p.plan-back-wrap a.plan-back-button:hover{
    background:#24517a;
    border-color:#24517a;
    text-decoration:none !important;
  }
}
body > div[align="center"] p.plan-back-wrap a.plan-back-button:focus-visible{
  outline:3px solid rgba(36,81,122,.28);
  outline-offset:2px;
}
@media (max-width:760px){
  body > div[align="center"] p.plan-back-wrap{
    margin:18px 0 12px !important;
  }
  body > div[align="center"] p.plan-back-wrap a.plan-back-button{
    min-height:38px;
    padding:9px 12px !important;
    font-size:14px !important;
  }
}

/* SP3 v15 — nagłówek podstron jak na stronie głównej: bez kreski pod nazwą */
.tabtytul,
.tytul{
  border-bottom:none !important;
}

/* SP3 v16 — pionowe wyśrodkowanie nazwy klasy / nauczyciela / sali */
.tytul{
  vertical-align:middle !important;
  line-height:1.15 !important;
}
.tytul > img{
  display:none !important;
}
.tytulnapis{
  display:inline-block;
  vertical-align:middle;
}


/* v20 school back button */
.tabtytul .tytul{position:relative;}
.school-back-link{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 10px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:7px;
  color:#fff !important;
  background:rgba(255,255,255,.10);
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  text-decoration:none !important;
  white-space:nowrap;
  z-index:2;
}
.school-back-link:hover,.school-back-link:focus{
  background:rgba(255,255,255,.20);
  outline:2px solid rgba(255,255,255,.75);
  outline-offset:2px;
}
@media (max-width:600px){
  .school-back-link{left:6px;padding:5px 7px;font-size:10px;min-height:28px;}
  .school-back-link .school-back-full{display:inline;}
  .school-back-link .school-back-short{display:none;}
}
@media (min-width:601px){
  .school-back-link .school-back-full{display:inline;}
  .school-back-link .school-back-short{display:none;}
}
