  :root{
    --pink:#f097d9;
    --pink-dark:#c2549e;
    --pink-darker:#9c3a80;
    --pink-pale:#fdeef9;
    --grey-dark:#4a4a4a;
    --grey-mid:#7a7a7a;
    --grey-line:#dcdcdc;
    --link:#9c3a80;
    --bg:#ffffff;
    --panel:#f2f2f2;
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    font-size:13px;
    color:#222;
    background:#e9e9e9;
  }
  .page{
    max-width:1000px;
    margin:20px auto;
    background:var(--bg);
    border:1px solid var(--grey-line);
    border-radius:8px;
    position:relative;
    box-shadow:
      0 12px 30px rgba(0,0,0,.18),
      0 2px 6px rgba(0,0,0,.15),
      inset 0 1px 0 rgba(255,255,255,.8);
    overflow:hidden;
  }

  /* ===== Top bar ===== */
  .topbar{
    display:flex;
    align-items:center;
    border-bottom:1px solid var(--grey-line);
    background:linear-gradient(to bottom, #ffffff 0%, #fbfbfb 45%, #f2f2f2 55%, #e6e6e6 100%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.9),
      0 2px 4px rgba(0,0,0,.1);
    position:relative;
    z-index:2;
  }
  .topbar .logo-block{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
  }
  .logo-block .mark{
    width:52px;height:52px;
    border:1px solid var(--grey-line);
    border-radius:8px;
    display:flex;align-items:center;justify-content:center;
    font-weight:bold;
    font-size:20px;
    color:var(--pink-darker);
    font-family:Georgia, serif;
    background:linear-gradient(to bottom, #ffffff 0%, #f7f7f7 55%, #e8e8e8 100%);
    box-shadow:
      0 2px 4px rgba(0,0,0,.15),
      inset 0 1px 0 rgba(255,255,255,.9),
      inset 0 -6px 8px rgba(0,0,0,.06);
  }
  .logo-block .name{
    font-family:Georgia, serif;
    line-height:1.1;
  }
  .logo-block .name b{
    display:block;
    font-size:15px;
    color:#222;
  }
  .logo-block .name span{
    font-size:10px;
    color:var(--grey-mid);
  }
  .ribbon{
    width:14px;
    align-self:stretch;
    background:repeating-linear-gradient(
      45deg,
      var(--pink),
      var(--pink) 6px,
      #ffffff 6px,
      #ffffff 12px
    );
    box-shadow:
      inset 2px 0 3px rgba(0,0,0,.15),
      inset -2px 0 3px rgba(0,0,0,.15);
  }
  .tagline-area{
    flex:1;
    padding:8px 16px;
    font-family:Georgia, serif;
    font-style:italic;
    color:#333;
  }
  .tagline-area .kadencja{
    font-style:normal;
    font-weight:bold;
    font-size:12px;
    color:var(--pink-darker);
    margin-bottom:4px;
  }
  .tagline-area .motto{
    font-size:12px;
  }
  .top-icons{
    display:flex;
    align-items:center;
    padding:8px 16px;
  }

  .subnav{
    display:flex;
    gap:18px;
    padding:6px 16px;
    background:linear-gradient(to bottom, #ffffff, #f4f4f4);
    border-bottom:1px solid var(--grey-line);
    box-shadow:0 1px 2px rgba(0,0,0,.06);
    font-size:11px;
    position:relative;
    z-index:1;
  }
  .subnav a{
    color:var(--pink-darker);
    text-decoration:none;
    font-weight:bold;
  }

  /* ===== Main nav tabs ===== */
  .mainnav{
    display:flex;
    gap:6px;
    background:linear-gradient(to bottom, #f2f2f2, #dedede);
    border-bottom:1px solid var(--grey-line);
    padding:6px 10px 0;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  }
  .mainnav a{
    padding:9px 16px 10px;
    font-size:12px;
    font-weight:bold;
    color:#444;
    text-decoration:none;
    border:1px solid var(--grey-line);
    border-bottom:none;
    border-radius:6px 6px 0 0;
    background:linear-gradient(to bottom, #ffffff 0%, #f5f5f5 65%, #e8e8e8 100%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.9),
      0 -1px 3px rgba(0,0,0,.06);
    position:relative;
    top:1px;
  }
  .mainnav a.active{
    background:linear-gradient(to bottom, #ffffff 0%, #ffffff 100%);
    color:var(--pink-darker);
    border-bottom:2px solid var(--pink);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,1),
      0 -2px 5px rgba(0,0,0,.08);
  }
  .mainnav a:hover{background:linear-gradient(to bottom, #ffffff, #fdeef8);}

  /* ===== Content ===== */
  .content{
    display:flex;
    gap:20px;
    padding:20px;
  }
  .main-col{flex:1;min-width:0;display:flex;flex-direction:column;}
  .side-col{width:230px;flex-shrink:0;}

  h2.section-title{
    font-family:Georgia, serif;
    font-size:18px;
    margin:24px 0 6px;
    color:#111;
  }
  .main-col p{line-height:1.5;color:#333;}

  /* ===== Sidebar ===== */
  .box{
    border:1px solid var(--grey-line);
    border-radius:7px;
    margin-bottom:16px;
    overflow:hidden;
    background:#fff;
    box-shadow:
      0 4px 10px rgba(120,40,90,.15),
      inset 0 1px 0 rgba(255,255,255,.8);
  }
  .box-head{
    background:linear-gradient(to bottom, #ffffff 0%, #f0f0f0 45%, #dcdcdc 100%);
    color:var(--pink-darker);
    font-weight:bold;
    font-size:12px;
    padding:8px 10px;
    border-bottom:2px solid var(--pink);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.9),
      inset 0 -1px 0 rgba(0,0,0,.05);
  }
  .box-body{padding:10px;}

  .prace-list{list-style:none;margin:0;padding:0;font-size:12px;}
  .prace-list li{margin-bottom:5px;}
  .prace-list a{color:var(--link);text-decoration:none;}
  .prace-list a:hover{text-decoration:underline;}
  .prace-list .head-item{font-weight:bold;margin-top:8px;}

  /* ===== Functional calendar ===== */
  .calendar{
    border:1px solid var(--grey-line);
    border-radius:7px;
    margin-bottom:16px;
    user-select:none;
    overflow:hidden;
    background:#fff;
    box-shadow:
      0 4px 10px rgba(120,40,90,.15),
      inset 0 1px 0 rgba(255,255,255,.8);
  }
  .cal-head{
    display:flex;justify-content:space-between;align-items:center;
    background:linear-gradient(to bottom, #ffffff 0%, var(--panel) 55%, #e0e0e0 100%);
    padding:6px 8px;
    font-size:12px;
    font-weight:bold;
    border-bottom:1px solid var(--grey-line);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  }
  .cal-head button{
    border:1px solid var(--grey-line);
    border-radius:4px;
    background:linear-gradient(to bottom, #ffffff, #eaeaea);
    width:20px;height:20px;
    cursor:pointer;
    font-size:11px;
    line-height:1;
    color:var(--pink-darker);
    box-shadow:
      0 1px 2px rgba(0,0,0,.12),
      inset 0 1px 0 rgba(255,255,255,.9);
  }
  .cal-head button:active{box-shadow:inset 0 1px 3px rgba(0,0,0,.3);}
  .cal-head button:hover{background:linear-gradient(to bottom, #ffffff, #fdeef8);}
  table.cal-grid{
    width:100%;
    border-collapse:collapse;
    font-size:11px;
    text-align:center;
  }
  table.cal-grid th{
    padding:4px 0;
    color:var(--grey-mid);
    font-weight:normal;
  }
  table.cal-grid td{
    padding:5px 0;
    color:#333;
    cursor:pointer;
  }
  table.cal-grid td:hover:not(.empty){
    background:var(--pink-pale);
  }
  table.cal-grid td.today{
    background:radial-gradient(circle at 35% 30%, #e08cc4, var(--pink-dark) 70%);
    color:#fff;
    font-weight:bold;
    border-radius:50%;
    box-shadow:
      0 2px 4px rgba(120,40,90,.4),
      inset 0 1px 1px rgba(255,255,255,.6);
  }
  table.cal-grid td.selected:not(.today){
    background:radial-gradient(circle at 35% 30%, #f7b8e4, var(--pink) 70%);
    color:#fff;
    border-radius:50%;
    box-shadow:
      0 1px 3px rgba(120,40,90,.3),
      inset 0 1px 1px rgba(255,255,255,.6);
  }
  table.cal-grid td.empty{cursor:default;}
  .cal-foot{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:6px 8px;
    font-size:11px;
    border-top:1px solid var(--grey-line);
    background:linear-gradient(to bottom, #ffffff, #f4f4f4);
  }
  .cal-foot button{
    border:1px solid var(--grey-line);
    border-radius:4px;
    background:linear-gradient(to bottom, #ffffff, #eaeaea);
    font-size:10px;
    padding:2px 6px;
    cursor:pointer;
    color:var(--pink-darker);
    box-shadow:
      0 1px 2px rgba(0,0,0,.12),
      inset 0 1px 0 rgba(255,255,255,.9);
  }
  .cal-foot button:active{box-shadow:inset 0 1px 3px rgba(0,0,0,.3);}
  .cal-foot button:hover{background:linear-gradient(to bottom, #ffffff, #fdeef8);}

  .aktualnosci-item{
    font-size:12px;
    margin-bottom:8px;
    line-height:1.4;
  }
  .aktualnosci-item .date{color:var(--pink-darker);font-weight:bold;}
  .aktualnosci-item a{color:#222;text-decoration:none;}
  .aktualnosci-item a:hover{text-decoration:underline;}

  /* ===== Footer thumbnails ===== */
  .thumbs{
    display:flex;
    border-top:1px solid var(--grey-line);
    box-shadow:0 -1px 0 rgba(255,255,255,.6);
    margin-top:auto;
  }
  .thumb{
    flex:1;
    position:relative;
    height:110px;
    border-right:1px solid var(--grey-line);
    background:linear-gradient(160deg, #ffffff 0%, #e4e4e4 55%, #c9c9c9 100%);
    display:flex;align-items:flex-end;
    box-shadow:inset 0 2px 6px rgba(255,255,255,.6), inset 0 -8px 14px rgba(0,0,0,.12);
  }
  .thumb:last-child{border-right:none;}
  .thumb span{
    background:linear-gradient(to bottom, rgba(194,84,158,0), rgba(156,58,128,.85));
    color:#fff;
    font-size:11px;
    font-weight:bold;
    padding:6px 8px;
    width:100%;
    text-shadow:0 1px 2px rgba(0,0,0,.4);
  }

  footer{
    display:flex;
    justify-content:space-between;
    padding:10px 20px;
    font-size:11px;
    color:var(--grey-mid);
    border-top:1px solid var(--grey-line);
    background:linear-gradient(to bottom, #ffffff, #f4f4f4);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  }
  footer a{color:var(--grey-mid);text-decoration:none;margin-left:10px;}
  footer a:hover{text-decoration:underline;}

  /* ===== Windows Vista style clock gadget (white, inline in header) ===== */
  #vista-clock{
    position:relative;
    width:72px;
    height:72px;
    flex-shrink:0;
    filter:drop-shadow(0 5px 8px rgba(0,0,0,.35));
  }
  #vista-clock .face{
    position:absolute;
    inset:0;
    border-radius:50%;
    background:
      radial-gradient(circle at 50% 40%, #ffffff 0%, #f4f4f4 55%, #dcdcdc 100%);
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.9),
      inset 0 -5px 9px rgba(0,0,0,.2),
      inset 0 5px 8px rgba(255,255,255,.95),
      0 1px 2px rgba(0,0,0,.25);
  }
  #vista-clock .glass-highlight{
    position:absolute;
    top:6%;
    left:12%;
    width:76%;
    height:38%;
    border-radius:50% 50% 60% 60% / 100% 100% 30% 30%;
    background:linear-gradient(to bottom, rgba(255,255,255,.9), rgba(255,255,255,0));
    pointer-events:none;
  }
  #vista-clock .bezel-ring{
    position:absolute;
    inset:1px;
    border-radius:50%;
    border:1px solid rgba(150,150,150,.5);
    pointer-events:none;
  }
  #vista-clock .tick{
    position:absolute;
    left:50%;top:50%;
    width:1.5px;height:5px;
    background:rgba(90,90,90,.7);
    transform-origin:50% 30px;
    margin-left:-0.75px;
    margin-top:-30px;
  }
  #vista-clock .tick.major{
    height:7px;
    width:2px;
    margin-left:-1px;
    background:#555;
  }
  #vista-clock .hand{
    position:absolute;
    left:50%;top:50%;
    background:#444;
    transform-origin:50% 100%;
    border-radius:2px;
    box-shadow:0 0 1px rgba(0,0,0,.5);
  }
  #vista-clock .hour-hand{
    width:3px;height:18px;
    margin-left:-1.5px;margin-top:-18px;
    background:#333;
  }
  #vista-clock .minute-hand{
    width:2.5px;height:26px;
    margin-left:-1.25px;margin-top:-26px;
    background:#333;
  }
  #vista-clock .second-hand{
    width:1.5px;height:28px;
    margin-left:-0.75px;margin-top:-28px;
    background:var(--pink-dark);
    box-shadow:0 0 2px rgba(194,84,158,.8);
  }
  #vista-clock .hub{
    position:absolute;
    left:50%;top:50%;
    width:7px;height:7px;
    margin-left:-3.5px;margin-top:-3.5px;
    border-radius:50%;
    background:radial-gradient(circle at 35% 35%, #fff, #888 70%, #333);
    box-shadow:0 0 1px rgba(0,0,0,.7);
  }