/* LSPO — identyfikacja graficzna. Doklejona po style.css, bez zmian w logice PHP. */
:root {
  --ink:#231628; --text:#44334a; --muted:#837583; --nav:#1b111c;
  --teal:#d42378; --mint:#fff0f7; --paper:#faf7f9; --line:#eee6ed;
  --shadow:0 10px 30px rgba(47,17,41,.055);
}
body{color:var(--ink)}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #fb90c0;outline-offset:3px}
.sidebar{background:linear-gradient(180deg,#251527,#170f1b);border-right:1px solid #3b2137}
.sidebar .brand {text-decoration:none;min-height:84px;gap:11px;padding:0 8px 16px;border-color:#573449}
.brand-logo{display:block;object-fit:contain;width:49px;height:49px;filter:drop-shadow(0 1px 10px #ec1f7430)}
.brand strong{font-size:25px;letter-spacing:1.4px;color:#fff}
.brand small{color:#caadbf;font-size:10px;line-height:1.45;max-width:154px}
.brand-slogan{color:#d3a4bd;padding:13px 9px 1px;font-size:8.6px;letter-spacing:1.05px;white-space:nowrap;font-weight:750}
.brand-slogan span{color:#fc3b96;padding:0 2px}
.sidecap{color:#ae89a5;margin-top:27px}
.navbtn{color:#d8c4d1;transition:background .15s,color .15s}
.navbtn.active{background:#51223f;color:#fff;box-shadow:inset 3px 0 0 #ff55a0}
.navbtn.active .navicon{background:#873154;color:#ffd9eb}
.sidebar .navbtn:hover{background:#48243d;color:#fff}
.navicon{background:#372235;color:#efb3d0}
.sidebottom{background:#2b1b2b;border-color:#503048}
.sidebottom .avatar{background:#fbe2ef;color:#ba125c}
.who small{color:#c4aabe}
.logout button{background:#3a2638;border-color:#66435e;color:#f9e5ef}
.logout button:hover{background:#5d2c48}
.topbar{border-bottom-color:#eee5ed}
.topbar .crumb{color:#765d71}
.topuser{color:#857486}.topuser strong{color:#453047}
.main{max-width:1430px}
.eyebrow{color:#ce186a}
.stat{border-color:#f0e5ee;box-shadow:var(--shadow)}
.stat .stat-icon{background:#fff0f7;color:#ca246d}
.stat .name,.stat .helper{color:#817080}
.stat .value{color:#2a1730}
.panel{border-color:#f0e5ed}
.panelhead{border-color:#f1e9ef}
.panelhead h2{color:#2a1a2a}
.tag{background:#fff0f7;border-color:#ffd6e8;color:#b81965}
.field{color:#59465a}
.field input,.field select{border-color:#e5dce5;color:#2f2031}
.field input:focus,.field select:focus{border-color:#e95b9f}
.field input[readonly]{background:#faf7fa}
.submit,.filterbutton{background:linear-gradient(105deg,#f12f86,#b91768);border:0;color:#fff;box-shadow:0 8px 18px rgba(195,27,108,.16)}
.submit:hover,.filterbutton:hover{background:linear-gradient(105deg,#d92275,#a30f56)}
.info{background:#fff6fa;border-color:#f3dce7;color:#81566c}
.datatable th{background:#fcf8fb;color:#968195}
.datatable td{border-color:#f2eaf0}
.datatable td strong{color:#38273b}
.status{background:#e9f7f0;color:#258561}
.status.follow{background:#fff3e4;color:#a87521}
.bar{background:linear-gradient(180deg,#ff80b7,#bf1965)}
.barvalue{color:#a12568}
.worker .bubble{background:#fff0f7;color:#b82c75}
.track{background:#f4e8ef}.fill{background:#d72d80}
.management-badge{color:#b6226a;background:#fff0f7}
.boardnotice{background:#fff6fa;border-color:#f2dbe7;color:#83526e}
.boardnotice strong{color:#67274c}
.filterbutton{box-shadow:none}
.clearbutton{background:#fff6fa;border-color:#f3dce7;color:#ae2d6c}
.csv{background:#fff1f7;border-color:#f4d2e2;color:#b8246b}
.csv:hover{background:#ffe0ef}
.pagination a{color:#c22570}
.graphrow strong{color:#aa246b}
progress{background:#f7eaf1}
progress::-webkit-progress-bar{background:#f7eaf1}
progress::-webkit-progress-value{background:linear-gradient(90deg,#ff82b4,#be1f70)}
progress::-moz-progress-bar{background:#d52a78}
.footer{color:#978492}

/* Logowanie: spokojny panel premium z zachowanym oryginalnym symbolem LSPO */
.login-body{min-height:100vh;padding:30px;background:radial-gradient(ellipse at 5% 5%,#fce7f1,transparent 55%),radial-gradient(ellipse at 97% 90%,#f7e3ee,transparent 40%),#faf8fa;display:grid;place-items:center}
.login-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,.82fr);max-width:1120px;width:100%;min-height:666px;border-radius:25px;overflow:hidden;background:#fff;box-shadow:0 35px 90px rgba(63,18,47,.14);border:1px solid #f2e3ed}
.login-visual{background:radial-gradient(circle at 55% 38%,#4b1739,#150e1a 65%);position:relative;overflow:hidden;min-height:650px;display:flex;flex-direction:column}
.login-visual-top{position:relative;z-index:2;color:#f5c5db;display:flex;align-items:center;gap:9px;font-size:10px;font-weight:750;letter-spacing:1.7px;padding:31px 36px 0}
.branddot{width:9px;height:9px;border-radius:50%;background:#ff4b9b;box-shadow:0 0 0 4px #ff4b9b18}
.login-art{display:block;position:relative;z-index:1;width:100%;height:calc(100% - 160px);min-height:428px;max-height:560px;object-fit:contain;object-position:center;mix-blend-mode:screen}
.login-visual-footer{z-index:2;position:relative;margin:auto 37px 32px;color:#dcb9cd}
.login-visual-footer .visual-divider{display:block;width:41px;height:3px;background:#f43288;border-radius:10px;margin-bottom:13px}
.login-visual-footer p{font-size:12px;line-height:1.8;margin:0}
.login-visual-footer strong{font-weight:600;color:#fff2f9}
.login-card{box-shadow:none;border:0;border-radius:0;max-width:none;width:100%;padding:47px 54px 32px;display:flex;flex-direction:column;justify-content:center;background:#fff}
.login-brand{gap:11px;margin:0 0 49px;padding:0;border:0}
.login-mark{width:53px;height:53px;object-fit:contain;background:#2b1728;border-radius:13px;padding:4px}
.login-brand strong{font-size:29px;letter-spacing:1.5px;color:#2f1c33}
.login-brand small{font-size:11px;color:#927c90}
.login-card .eyebrow{font-size:10px;letter-spacing:1.5px}
.login-card h1{font-size:36px;letter-spacing:-1.2px;margin:12px 0 8px;color:#2b1b2e}
.login-card .muted{max-width:370px;margin:0;color:#887688;line-height:1.7;font-size:13px}
.login-card form{margin-top:33px;gap:18px}
.login-card .field{color:#554355;font-size:12px;font-weight:750;gap:9px}
.login-card .field input{height:48px;background:#fefcfe;border:1px solid #e9e0e9;border-radius:10px;padding:0 15px;font-size:13px}
.login-card .field input::placeholder{color:#b4a3b0}
.login-card .submit{margin-top:8px;height:50px;display:flex;align-items:center;justify-content:center;gap:13px;font-size:13px}
.login-card .submit span{font-size:21px;font-weight:400}
.login-caption{margin-top:28px;color:#a392a2;line-height:1.5}
@media(max-width:1120px){.login-shell{max-width:930px}.login-card{padding:40px 36px}.login-visual{min-height:620px}.brand-slogan{white-space:normal;line-height:1.8}}
@media(max-width:800px){.sidebar .brand{min-height:0;padding:0;border:0}.sidebar .brand-logo{width:35px;height:35px}.brand-slogan{display:none}.sidebar .brand small{display:none}.sidebar .brand strong{font-size:18px}.sidebar{border-right:0;border-bottom:1px solid #55304a}.login-shell{grid-template-columns:1fr;max-width:500px;min-height:0}.login-visual{display:none}.login-card{padding:45px 42px}.login-brand{margin-bottom:35px}}
@media(max-width:550px){.login-body{padding:14px}.login-shell{border-radius:19px}.login-card{padding:34px 24px}.login-brand strong{font-size:25px}.login-card h1{font-size:30px}.sidebar .brand-logo{width:31px;height:31px}.sidebar .brand strong{font-size:16px}.sidebar{flex-wrap:wrap}.sidebar nav{flex:1;justify-content:flex-end}.topbar{min-height:58px}.topbar .crumb{font-size:11px}}
@media(max-width:370px){.sidebar{gap:7px}.sidebar .navbtn{font-size:9px}.login-card{padding:29px 19px}}

/* Wdrożenie tła LSPO 2026-10: neonowy background dopasowany do logo */
.login-body{
  background:
    linear-gradient(rgba(16,7,16,.78), rgba(16,7,16,.78)),
    url('login-bg.png') center center / cover no-repeat fixed;
  min-height:100vh;
}
.login-shell{
  max-width:1180px;
  min-height:680px;
  background:rgba(255,255,255,.94);
  backdrop-filter: blur(5px);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 32px 90px rgba(14,4,12,.42);
}
.login-visual{
  background:
    linear-gradient(180deg, rgba(35,8,27,.78), rgba(16,8,20,.86)),
    url('login-bg.png') center center / cover no-repeat;
}
.login-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 20%, rgba(255,76,157,.10), transparent 35%),
             radial-gradient(circle at 80% 80%, rgba(244,39,122,.08), transparent 30%);
  pointer-events:none;
}
.login-art{
  max-width:78%;
  margin:28px auto 0;
  height:auto;
  object-fit:contain;
  filter: drop-shadow(0 16px 38px rgba(255,45,142,.28));
}
.login-card{
  background:rgba(255,255,255,.97);
}
.login-brand strong{letter-spacing:1.2px}
.login-mark{
  width:60px;
  height:60px;
  padding:0;
  background:transparent;
  border-radius:14px;
  box-shadow:0 10px 30px rgba(212,35,120,.14);
}
.alert.error{
  background:#fff1f7;
  border:1px solid #ffd1e5;
  color:#a71f5f;
  border-radius:12px;
  padding:11px 14px;
  font-size:12px;
  margin-top:16px;
}
@media(max-width:800px){
  .login-body{background-position:center top;background-attachment:scroll}
  .login-shell{background:rgba(255,255,255,.96)}
}

/* Rangi LSPO: Admin (01), Zarząd (02); przygotowane do rozbudowy */
.setup-card{padding-top:32px;padding-bottom:32px}
.setup-card .login-brand{margin-bottom:22px}
.setup-card h1{font-size:30px}
.setup-card form{gap:12px;margin-top:21px}
.setup-card .field input{height:43px}
.setup-card .login-caption{margin-top:15px}
.setup-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.role-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 22px}
.role-card{background:white;border:1px solid #f0e1eb;border-radius:18px;padding:23px 24px;box-shadow:var(--shadow)}
.role-index{font-size:10px;letter-spacing:1.8px;font-weight:850;color:#d22276}
.role-card h2{font-size:22px;margin:10px 0 8px}
.role-card p{font-size:12px;line-height:1.65;color:#827283;margin:0}
.role-admin{border-top:3px solid #ed287d}
.role-board{border-top:3px solid #9e467a}
.admin-columns{grid-template-columns:minmax(360px,0.9fr) minmax(420px,1.25fr)}
.role-pill{display:inline-block;background:#fce9f2;color:#aa2366;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:750;white-space:nowrap}
.role-pill-admin{background:#f5dcec;color:#781146}
@media(max-width:1150px){.admin-columns{grid-template-columns:1fr}}
@media(max-width:750px){.role-cards{grid-template-columns:1fr}.setup-two{grid-template-columns:1fr}}

/* Nowe pola uczestników i osobne liczniki ról */
.workers-roles{max-height:440px}
.workers-roles .worker{align-items:flex-start;margin-bottom:19px}
.workers-roles .worker-top{margin-bottom:10px}
.workers-roles .role-count{font-size:11px;color:#806d81;display:flex;justify-content:space-between;gap:10px;margin:9px 0 5px}
.workers-roles .role-count strong{color:#a31d61}
.workers-roles .right progress{height:7px;display:block}
.workers-roles .right progress.role-assisted::-webkit-progress-value{background:linear-gradient(90deg,#cba6df,#8c63a9)}
.workers-roles .right progress.role-assisted::-moz-progress-bar{background:#9a6cbb}
.filters-with-roles{grid-template-columns:repeat(5,minmax(125px,1fr)) auto auto}
@media(max-width:1360px){.filters-with-roles{grid-template-columns:repeat(3,minmax(140px,1fr))}}
@media(max-width:750px){.filters-with-roles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.filters-with-roles{grid-template-columns:1fr}}


/* Aktywne rozmowy – Start/Stop i licznik */
.start-button{background:linear-gradient(110deg,#fa2789,#ba1769);font-size:14px;height:54px}
.finish-button{background:linear-gradient(110deg,#a72b59,#751944);font-size:14px;height:54px;margin-top:20px}
.finish-button:hover{background:linear-gradient(110deg,#92254f,#611239)}
.live-session{border:1px solid #f4cee0;border-radius:16px;padding:25px 20px;background:radial-gradient(ellipse at 50% 0,#fff0f7 0%,#fffafd 80%);text-align:center}
.live-dot{font-size:11px;font-weight:850;letter-spacing:1.5px;color:#ba1465}
.live-dot span{display:inline-block;font-size:16px;color:#e42882;animation:livepulse 1.4s ease-in-out infinite;vertical-align:-1px;margin-right:5px}
@keyframes livepulse{0%,100%{opacity:1}50%{opacity:.35}}
.elapsed-timer{font-size:clamp(35px,4vw,57px);font-weight:850;letter-spacing:2px;line-height:1.3;font-variant-numeric:tabular-nums;color:#291126;margin:14px auto 3px}
.timer-subtitle{font-size:11px;color:#aa83a0;letter-spacing:1.1px}
.live-details{margin-top:25px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:left}
.live-details>div{padding:12px;border:1px solid #f1dce7;border-radius:11px;background:#fff;min-width:0}
.live-details span{font-size:10px;color:#9e748c;display:block;margin-bottom:5px}
.live-details strong{font-size:12px;color:#3b2038;overflow-wrap:anywhere}
.finish-form{margin-top:23px}.finish-form .field{font-size:12px;font-weight:750}.finish-form .hint{margin:13px 0 0;display:block;line-height:1.6}
.timer-info{display:block;margin-top:13px;line-height:1.65}
@media(max-width:550px){.live-details{grid-template-columns:1fr}.elapsed-timer{font-size:36px;letter-spacing:1px}.live-session{padding:20px 15px}}
