
:root{--ink:#162b3d;--muted:#607183;--paper:#f3f5f7;--line:#dce4eb;--blue:#165e91;--present:#247c79;--excused:#b28530;--absent:#a6505c;--unknown:#bec7d0;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 "Segoe UI",sans-serif}button,select,input{font:inherit}button,select{cursor:pointer}a{color:var(--blue)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #dbad46;outline-offset:3px}header{background:#142a3b;color:white;padding:20px max(24px,calc((100% - 1190px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:19px;font-weight:750;letter-spacing:-.5px}.brand span{color:#7fc9c3}.demo{font-size:12px;color:#c5d5e1;letter-spacing:1px;text-transform:uppercase}main{max-width:1238px;margin:auto;padding:28px 24px 60px}.sample{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;color:var(--muted);font-size:13px}select,input{border:1px solid #bac9d5;border-radius:7px;background:white;color:var(--ink);padding:9px 12px;max-width:100%}.sample select{max-width:410px}.hero{display:flex;gap:23px;align-items:center;margin:24px 0 28px}.avatar{display:grid;place-items:center;width:85px;height:85px;background:#dcece9;border-radius:20px;color:#246560;font-size:28px;font-weight:700;flex-shrink:0}h1{font-size:32px;letter-spacing:-1px;line-height:1.15;margin:0 0 9px}h2{font-size:21px;letter-spacing:-.5px;margin:0 0 12px}h3{font-size:16px;margin:0 0 15px}.muted{color:var(--muted)}.small{font-size:12px}.source{margin-left:auto;white-space:nowrap;text-decoration:none;border:1px solid #bbcbd8;border-radius:7px;padding:9px 13px;font-size:13px}.filters{display:grid;grid-template-columns:180px minmax(220px,1fr) 185px;gap:16px;padding:20px 22px;background:white;border:1px solid var(--line);border-radius:12px}.filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}.hint{margin:10px 0 25px;color:var(--muted);font-size:12px}.tabs{display:flex;gap:5px;border-bottom:1px solid #c9d5df;margin-bottom:22px;overflow-x:auto}.tabs button{border:0;border-bottom:3px solid transparent;background:none;padding:12px 20px;color:var(--muted);font-weight:600;white-space:nowrap}.tabs button[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card,.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:24px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:700}.metric{font-size:35px;line-height:1.2;font-weight:700;letter-spacing:-1px;margin:12px 0}.metric .outof{font-size:20px;color:var(--muted);font-weight:400;letter-spacing:0}.card p{font-size:13px;margin:9px 0;color:var(--muted)}.jump{border:0;background:none;color:var(--blue);padding:8px 0 0;font-size:13px;font-weight:600;text-align:left}.grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;margin-top:16px}.panel.full{margin-top:16px}.bar{display:flex;height:12px;border-radius:4px;overflow:hidden;background:#e8edf1;margin:18px 0 12px}.bar span{min-width:0}.legend{display:flex;gap:10px 16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}.timeline{display:flex;flex-wrap:wrap;gap:6px;margin:22px 0 16px}.dot{width:21px;height:30px;border-radius:4px;border:1px solid #fff;display:block;text-decoration:none}.dot:hover{outline:2px solid var(--blue)}.note{background:#eaf0f5;border-radius:8px;padding:14px 17px;font-size:13px;margin-top:18px;color:#415b70}.warning{background:#fff3de;color:#805c20}.reward-chart{display:grid;grid-template-columns:repeat(12,1fr);gap:7px;align-items:end;height:140px;margin:22px 0}.month{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;font-size:10px;color:var(--muted)}.month b{width:100%;min-height:3px;background:#2e739b;border-radius:3px 3px 0 0;display:block}.month.missing b{background:#dde4ea;height:4px}.month.conflict b{background:repeating-linear-gradient(45deg,#deb879,#deb879 4px,#fff1d9 4px,#fff1d9 8px);height:45px}.month.zero b{background:#2e739b;height:3px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#f7f9fa}td,th{padding:13px 12px;border-bottom:1px solid #e8edf1;vertical-align:top}td:first-child,th:first-child{padding-left:0}td:last-child{text-align:right;white-space:nowrap}.pill{display:inline-block;padding:3px 8px;border-radius:4px;background:#eef2f5;font-size:12px;white-space:nowrap}.pill.pritomny,.pill.za{background:#e4f2ee;color:#24645d}.pill.ospravedlneny,.pill.zdrzal_sa{background:#fff3de;color:#846527}.pill.nepritomny,.pill.proti{background:#f7e9ec;color:#954d59}.pill.conflict{background:#fff0d6;color:#885714}.section-top{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:15px}.section-top input{width:280px}.empty{padding:30px 0;color:var(--muted)}.membership{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:14px 0}.membership small{display:block;color:var(--muted)}details{margin-top:22px;border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:13px}summary{cursor:pointer;font-weight:600}footer{margin-top:30px;font-size:12px;color:var(--muted)}.hidden{display:none}@media(max-width:850px){.cards{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters label:nth-child(2){grid-column:1/-1;grid-row:2}.hero{flex-wrap:wrap}.source{margin-left:108px}.sample{align-items:flex-start;flex-direction:column}.metric{font-size:32px}h1{font-size:27px}.section-top{flex-wrap:wrap}}@media(max-width:480px){main{padding:18px 14px}.hero{gap:14px}.avatar{width:56px;height:56px;font-size:20px}.source{margin-left:70px}.hero>div:nth-child(2){max-width:calc(100% - 70px)}h1{font-size:24px}.card,.panel{padding:18px}.tabs button{padding:12px}.demo{max-width:100px;font-size:10px}.sample select{width:100%}}
