.teb-dashboard-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.teb-dashboard-heading h2,.teb-section-intro h2{font-size:clamp(28px,4vw,42px);line-height:1.1;margin:10px 0}.teb-dashboard-heading p,.teb-section-intro p{color:#68707d;margin:0}.teb-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.teb-module-card{position:relative;min-height:240px;padding:26px;border:1px solid #e4e7eb;border-radius:20px;background:#fff;color:#111318;box-shadow:0 12px 30px rgba(17,19,24,.08);display:flex;flex-direction:column;gap:12px;overflow:hidden;transition:.2s}.teb-module-card:after{content:"";position:absolute;right:-55px;bottom:-65px;width:150px;height:150px;border-radius:50%;background:rgba(232,0,22,.06)}.teb-module-card:hover{text-decoration:none;transform:translateY(-4px);border-color:rgba(232,0,22,.35);box-shadow:0 18px 38px rgba(17,19,24,.13)}.teb-module-card strong{font-size:21px;line-height:1.2}.teb-module-card>span:not(.teb-module-icon){color:#68707d}.teb-module-card em{margin-top:auto;color:#e80016;font-style:normal;font-weight:800}.teb-module-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:#111318;color:#fff;font-size:25px;font-weight:900}.teb-module-card-admin{background:#151820;color:#fff;border-color:#252a34}.teb-module-card-admin>span:not(.teb-module-icon){color:#c8cdd4}.teb-module-card-admin .teb-module-icon{background:#e80016}
.teb-login-required{padding:42px;border-radius:20px;background:linear-gradient(135deg,#fff,#f0f2f5);border:1px solid #e2e5e9;text-align:center}.teb-login-required h2{font-size:34px;margin:0 0 12px}.teb-section-intro{margin-bottom:26px}.teb-subsection{margin-top:34px;padding-top:28px;border-top:1px solid #e5e8ec}.teb-subsection h3{font-size:26px;margin-top:0}
.teb-form{display:grid;gap:24px}.teb-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.teb-field{display:grid;gap:8px;font-weight:700}.teb-field span{font-size:14px}.teb-field b{color:#e80016}.teb-field input,.teb-field select,.teb-field textarea,.teb-inline-form input,.teb-filter-bar input{width:100%;border:1px solid #ccd2d9;border-radius:11px;background:#fff;color:#111318;padding:12px 13px;font:inherit;font-weight:500;transition:.2s}.teb-field input:focus,.teb-field select:focus,.teb-field textarea:focus,.teb-inline-form input:focus,.teb-filter-bar input:focus{outline:3px solid rgba(232,0,22,.13);border-color:#e80016}.teb-field-wide{grid-column:1/-1}.teb-confirm{display:flex;align-items:flex-start;gap:11px;padding:14px 16px;border-radius:12px;background:#f4f6f8;font-weight:700}.teb-confirm input{width:20px;height:20px;margin-top:2px;accent-color:#e80016}.teb-form>.teb-button{justify-self:start}.teb-repeat-form>.teb-button{margin-right:10px}.teb-repeat-list{display:grid;gap:18px}.teb-repeat-item{border:1px solid #dde1e6;border-radius:16px;padding:20px;background:#fbfcfd}.teb-repeat-item legend{padding:0 8px;font-size:18px;font-weight:900}.teb-repeat-item .teb-remove-repeat{margin-top:16px}.teb-empty{padding:26px;border-radius:14px;background:#f4f6f8;text-align:center;color:#68707d}
.teb-table-scroll{overflow-x:auto;border-radius:14px;border:1px solid #e0e4e8;background:#fff;margin:20px 0}.teb-availability-table,.teb-data-table{border-collapse:collapse;width:100%;min-width:760px}.teb-availability-table th,.teb-availability-table td,.teb-data-table th,.teb-data-table td{border-bottom:1px solid #e4e7eb;border-right:1px solid #e8ebee;padding:11px;text-align:left;vertical-align:middle}.teb-availability-table thead th,.teb-data-table thead th{background:#171a20;color:#fff;font-weight:800}.teb-availability-table thead th:not(:first-child){text-align:center}.teb-availability-table th:first-child{position:sticky;left:0;z-index:2;background:#f0f2f4;color:#111318;min-width:150px}.teb-availability-table thead th:first-child{background:#171a20;color:#fff;z-index:3}.teb-availability-table th small{display:block;font-weight:500;font-size:11px;margin-top:5px;white-space:nowrap}.teb-availability-table td{padding:0;height:58px}.teb-slot{display:block;width:100%;height:58px;cursor:pointer}.teb-slot input{position:absolute;opacity:0;pointer-events:none}.teb-slot span{display:grid;place-items:center;width:100%;height:100%;background:#f21924;color:#7d0710;font-weight:900;transition:.16s}.teb-slot input:checked+span{background:#8fd14f;color:#245b13}.teb-slot input:focus-visible+span{outline:4px solid #111318;outline-offset:-4px}.teb-data-table th{white-space:nowrap}.teb-data-table td small{display:block;color:#68707d;margin-top:4px}.teb-data-table tbody tr:hover{background:#fff8f8}
.teb-filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0;padding:15px;border-radius:13px;background:#f4f6f8}.teb-filter-bar label{display:grid;gap:5px;font-size:13px;font-weight:800;min-width:190px}.teb-filter-multi{align-items:end}.teb-export-form{margin:0 0 20px}.teb-inline-form{display:flex;align-items:center;gap:8px}.teb-inline-form input{min-width:180px;padding:8px 9px}.teb-record-list{display:grid;gap:18px}.teb-record-card{padding:22px;border:1px solid #e0e4e8;border-radius:16px;background:#fff}.teb-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #eceef1}.teb-record-head h3{margin:0;font-size:22px}.teb-record-head span,.teb-record-head time{color:#68707d}.teb-availability-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;margin-bottom:18px}.teb-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 18px}.teb-details div{padding:13px;border-radius:11px;background:#f4f6f8}.teb-details dt{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#68707d;font-weight:900}.teb-details dd{margin:5px 0 0;font-weight:700}.teb-status{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.teb-status-ok{background:#def4da;color:#21651a}.teb-status-bad{background:#ffe0e3;color:#9a0011}.teb-status-inactive{background:#e7e9ed;color:#5e6570}
@media(max-width:980px){.teb-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teb-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teb-details{grid-template-columns:1fr}.teb-inline-form{flex-direction:column;align-items:stretch}}
@media(max-width:620px){.teb-module-grid{grid-template-columns:1fr}.teb-module-card{min-height:210px}.teb-form-grid{grid-template-columns:1fr}.teb-field-wide{grid-column:auto}.teb-record-head{display:block}.teb-record-head time{display:block;margin-top:8px}.teb-availability-summary{grid-template-columns:1fr}.teb-filter-bar{display:grid;grid-template-columns:1fr}.teb-filter-bar label{min-width:0}.teb-form>.teb-button,.teb-repeat-form>.teb-button{width:100%;margin-right:0}.teb-login-required{padding:26px 18px}.teb-login-required h2{font-size:27px}}
.teb-form-disclosure{margin-top:28px}.teb-form-disclosure>summary{list-style:none;width:max-content}.teb-form-disclosure>summary::-webkit-details-marker{display:none}.teb-form-disclosure[open]>summary{background:#20242c}.teb-form-disclosure .teb-subsection{margin-top:18px}


/* Dostępność: miniaturowy grafik dyrektora i administratora */
.teb-availability-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center}.teb-availability-record-main{min-width:0}.teb-availability-record-main .teb-record-head{margin-bottom:18px}.teb-availability-visual{width:270px;max-width:100%}.teb-availability-preview{display:grid;gap:10px;width:100%;padding:14px;border:1px solid #dfe3e8;border-radius:14px;background:#f7f8fa;color:#111318;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.teb-availability-preview:hover,.teb-availability-preview:focus-visible{transform:translateY(-2px);border-color:#e80016;box-shadow:0 12px 28px rgba(17,19,24,.13);outline:none}.teb-availability-preview-label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#5f6671}.teb-availability-preview-action{font-size:12px;font-weight:800;color:#e80016}.teb-mini-schedule{display:grid;gap:2px;align-items:center;width:max-content;max-width:100%}.teb-mini-corner,.teb-mini-head,.teb-mini-day,.teb-mini-cell{height:14px;border-radius:2px}.teb-mini-corner{background:transparent}.teb-mini-head{display:grid;place-items:center;font-size:8px;font-weight:900;color:#5f6671}.teb-mini-day{display:grid;place-items:center;padding-right:3px;font-size:9px;font-weight:900;color:#303641}.teb-mini-cell{border:1px solid rgba(17,19,24,.08)}.teb-mini-cell.is-available,.teb-availability-legend i.is-available{background:#8fd14f}.teb-mini-cell.is-unavailable,.teb-availability-legend i.is-unavailable{background:#f21924}.teb-availability-modal[hidden]{display:none!important}.teb-availability-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:22px;background:rgba(8,10,14,.78);backdrop-filter:blur(5px)}.teb-availability-modal-panel{width:min(1180px,100%);max-height:calc(100vh - 44px);overflow:auto;border-radius:20px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.42)}.teb-availability-modal-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #e6e9ed;background:#fff}.teb-availability-modal-head span{display:block;margin-bottom:3px;color:#e80016;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.teb-availability-modal-head h3{margin:0;font-size:26px}.teb-availability-modal-close{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#171a20;color:#fff;font-size:30px;line-height:1;cursor:pointer}.teb-availability-modal-close:hover,.teb-availability-modal-close:focus-visible{background:#e80016;outline:3px solid rgba(232,0,22,.2)}.teb-availability-modal-scroll{margin:20px 22px 14px}.teb-availability-readonly td{height:58px;padding:0}.teb-readonly-slot{display:grid;place-items:center;width:100%;height:58px;font-size:20px;font-weight:900}.teb-readonly-slot.is-available{background:#8fd14f;color:#245b13}.teb-readonly-slot.is-unavailable{background:#f21924;color:#7d0710}.teb-availability-legend{display:flex;flex-wrap:wrap;gap:18px;padding:0 22px 22px;font-size:13px;font-weight:800}.teb-availability-legend span{display:flex;align-items:center;gap:8px}.teb-availability-legend i{display:inline-block;width:18px;height:18px;border-radius:4px;border:1px solid rgba(17,19,24,.12)}body.teb-modal-open{overflow:hidden}
@media(max-width:900px){.teb-availability-record{grid-template-columns:1fr}.teb-availability-visual{width:100%}.teb-availability-preview{width:max-content;max-width:100%}}
@media(max-width:620px){.teb-availability-modal{padding:8px}.teb-availability-modal-panel{max-height:calc(100vh - 16px);border-radius:14px}.teb-availability-modal-head{padding:15px}.teb-availability-modal-head h3{font-size:21px}.teb-availability-modal-scroll{margin:12px}.teb-availability-legend{padding:0 12px 15px}.teb-availability-preview{overflow-x:auto}.teb-mini-schedule{min-width:max-content}}

.teb-news-icon{background:#a52b32;color:#fff}.teb-news-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.teb-news-card:hover .teb-news-icon{background:#8f2229}

.teb-documents-icon{background:#111318;color:#fff}.teb-documents-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.teb-documents-card:hover .teb-documents-icon{background:#2a2f38}
