.pt-availability-overview,.pt-staff-availability-setup{display:flex;flex-direction:column;gap:16px}.pt-panel{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.pt-panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.pt-panel-title h3{margin:0;font-size:18px;color:var(--text)}.pt-panel-title span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--text3);font-weight:900}.pt-title-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pt-help{margin:0 0 12px;color:var(--text3);font-size:13px;line-height:1.45}.pt-action{border:0;border-radius:var(--radius-sm);background:var(--green);color:#fff;font-weight:900;cursor:pointer;padding:10px 14px;min-height:40px;white-space:nowrap}.pt-action-secondary{background:#fff;color:var(--green);border:1px solid #b7d8c6}.pt-search-panel,.pt-staff-setup{border-color:#cfe8d8;background:#fbfefc}.pt-search-controls{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1.1fr) minmax(140px,.75fr) minmax(140px,.75fr) minmax(160px,.9fr) auto;gap:10px;align-items:end}.pt-search-controls label,.pt-staff-table label{font-size:11px;font-weight:900;color:var(--text3);text-transform:uppercase;letter-spacing:.05em}.pt-search-controls select,.pt-search-controls input,.pt-staff-table select{width:100%;margin-top:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text);font-weight:800;min-height:40px;padding:9px 10px}.pt-search-output{margin-top:14px}.pt-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pt-search-result{border:1px solid #b7d8c6;background:#e6f3ec;border-radius:var(--radius-sm);padding:10px}.pt-search-result strong{display:block;font-size:13px;color:#1e6843}.pt-search-result span{display:block;margin-top:4px;color:var(--text2);font-size:12px;font-weight:800}.pt-search-empty{border:1px dashed var(--border2);border-radius:var(--radius-sm);background:#fff;color:var(--text3);font-size:13px;padding:12px;text-align:center}.pt-table-wrap{overflow-x:auto}.pt-staff-table{width:100%;border-collapse:collapse;min-width:1040px}.pt-staff-table th,.pt-staff-table td{border-bottom:1px solid var(--border);padding:10px;text-align:left;vertical-align:top}.pt-staff-table thead th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--text3);background:var(--bg)}.pt-staff-table tbody th{width:190px;background:#fff}.pt-staff-table strong{display:block;font-size:13px;color:var(--text)}.pt-staff-table small{display:block;margin-top:3px;color:var(--text3);font-size:11px}.pt-staff-table label{display:block;margin-bottom:8px}.pt-staff-table label span{display:block;margin-bottom:4px}.pt-day-slot-title{font-size:10px;font-weight:900;color:var(--text3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px}.pt-hour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.pt-hour-pill{display:block;margin:0!important}.pt-hour-pill input{position:absolute;opacity:0;pointer-events:none}.pt-hour-pill span{display:flex!important;align-items:center;justify-content:center;min-height:28px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text2);font-size:11px;font-weight:900;margin:0!important}.pt-hour-pill input:checked+span{background:#e6f3ec;border-color:#8fc7a7;color:#1e6843;box-shadow:inset 0 0 0 1px #8fc7a7}.pt-staff-actions{display:flex;align-items:center;gap:10px;margin-top:12px}.pt-staff-actions span{font-size:12px;font-weight:900;color:var(--green)}.pt-package-table{width:100%;border-collapse:collapse;min-width:920px}.pt-package-table th,.pt-package-table td{padding:11px 10px;border-bottom:1px solid var(--border);text-align:left;font-size:13px;vertical-align:top}.pt-package-table th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--text3);background:var(--bg)}.pt-package-table td strong{display:block;font-size:13px;color:var(--text)}.pt-package-table td small{display:block;margin-top:3px;color:var(--text3);font-size:11px}.pt-status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;white-space:nowrap}.pt-status.ok{background:#e6f3ec;color:#1e6843}.pt-status.warn{background:#fff3cb;color:#795d05}.pt-status.danger{background:#fde8e8;color:#9b2e2e}.pt-status.read{background:#eef1f4;color:#66717a}.pt-week-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.pt-day{border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);padding:10px;min-height:142px}.pt-day h4{margin:0 0 8px;color:var(--text2);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.pt-event{background:#fff;border-left:3px solid var(--green);border-radius:7px;padding:8px;margin-bottom:7px;box-shadow:0 4px 12px rgba(0,0,0,.04)}.pt-event strong{display:block;font-size:12px;color:var(--text)}.pt-event span{display:block;margin-top:2px;font-size:11px;color:var(--text2);font-weight:800}.pt-event em{display:block;margin-top:3px;font-style:normal;font-size:11px;color:var(--text3);line-height:1.35}.pt-empty,.pt-muted{font-size:12px;color:var(--text3);padding:10px;text-align:center;border:1px dashed var(--border2);border-radius:var(--radius-sm);background:#fff}.pt-hours-overlay{position:fixed;inset:0;background:rgba(10,27,43,.32);z-index:2000;display:flex;justify-content:flex-end}.pt-hours-drawer{width:min(460px,calc(100vw - 24px));height:100%;background:#fbfefc;border-left:1px solid #cfe8d8;box-shadow:-18px 0 42px rgba(10,27,43,.18);padding:18px;overflow:auto}.pt-hours-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.pt-hours-header h3{margin:0;font-size:20px;color:var(--text)}.pt-hours-header span{display:block;margin-top:4px;color:var(--text3);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.pt-hours-close{border:1px solid var(--border);background:#fff;border-radius:10px;width:38px;height:38px;font-size:24px;line-height:1;color:var(--text);cursor:pointer}.pt-hours-month{display:block;font-size:11px;font-weight:900;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.pt-hours-month input{width:100%;margin-top:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text);font-weight:800;min-height:40px;padding:9px 10px}.pt-hours-list{display:flex;flex-direction:column;gap:10px}.pt-hours-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:12px}.pt-hours-person{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding-bottom:9px;margin-bottom:8px}.pt-hours-person strong{font-size:15px;color:var(--text)}.pt-hours-person span{font-size:14px;color:var(--green);font-weight:900}.pt-hours-service{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #eef1f4}.pt-hours-service:last-child{border-bottom:0}.pt-hours-service span{color:var(--text2);font-weight:800;font-size:13px}.pt-hours-service strong{color:var(--text);font-size:13px}.pt-hours-service small{color:var(--text3);font-size:11px;font-weight:800}@media(max-width:1260px){.pt-search-controls{grid-template-columns:1fr 1fr}.pt-action{width:100%}.pt-title-actions{width:100%;justify-content:stretch}.pt-title-actions .pt-action{flex:1}.pt-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pt-search-results{grid-template-columns:1fr}}@media(max-width:720px){.pt-search-controls{grid-template-columns:1fr}.pt-week-grid{grid-template-columns:1fr}.pt-panel-title,.pt-staff-actions{align-items:flex-start;flex-direction:column}.pt-title-actions{flex-direction:column}.pt-hours-drawer{width:100%}}

/* Exact date/time requests, independent from the client's package weekdays. */
.pt-exact-settings,.pt-exact-row{display:grid;gap:12px;align-items:end;margin-bottom:12px}
.pt-exact-settings{grid-template-columns:repeat(2,minmax(0,1fr))}
.pt-exact-row{grid-template-columns:repeat(3,minmax(0,1fr)) auto;padding:12px;background:#fff;border:1px solid var(--border);border-radius:10px}
.pt-exact-settings label,.pt-exact-row label{font-size:13px;font-weight:700;min-width:0}
.pt-exact-settings select,.pt-exact-row select,.pt-exact-row input{display:block;box-sizing:border-box;width:100%;min-height:42px;margin-top:5px;padding:8px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text)}
.pt-exact-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin-top:16px}
.pt-request-result{border:1px solid var(--border);padding:12px;border-radius:10px;background:#fff}
.pt-request-result h4{margin:0 0 10px}.pt-request-person{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--border);padding:10px 0}
.pt-request-person small{display:block;color:var(--text3);margin-top:4px}.pt-request-person.is-available small{color:#1e6843;font-weight:700}
.pt-period-search>summary{cursor:pointer;padding:12px;font-weight:700}.pt-action:disabled{opacity:.5;cursor:default}
.pt-exact-settings select:focus-visible,.pt-exact-row input:focus-visible,.pt-action:focus-visible{outline:3px solid #367fba;outline-offset:2px}
@media(max-width:650px){.pt-exact-settings,.pt-exact-row{grid-template-columns:1fr}.pt-request-person{flex-wrap:wrap}}

.pt-weekday-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.pt-weekday-choice{border:1px solid var(--border);border-radius:10px;background:#fff;padding:14px}.pt-weekday-choice.is-selected{border-color:#318459;background:#e6f3ec}.pt-weekday-choice label{display:block;font-size:12px}.pt-weekday-toggle{display:flex!important;gap:10px;align-items:center;font-weight:800;font-size:16px!important;margin-bottom:12px;cursor:pointer}.pt-weekday-toggle input{width:20px;height:20px}.pt-weekday-choice input[type=time],.pt-common-time input,.pt-weekly-options input{display:block;box-sizing:border-box;width:100%;min-height:42px;padding:8px;margin-top:5px;border:1px solid var(--border);border-radius:8px;background:white;font:inherit}.pt-common-time{display:flex;align-items:end;gap:16px}.pt-common-time label{font-weight:700}.pt-common-time span{font-size:13px;color:var(--text3)}.pt-weekly-options{margin:12px 0}.pt-weekly-options summary,.pt-request-person summary{cursor:pointer;margin:8px 0}.pt-weekly-summary{grid-column:1/-1;margin:0;padding:12px;background:#eef4f8;border-radius:8px}.pt-weekday-choice input:focus-visible{outline:3px solid #367fba;outline-offset:2px}@media(max-width:650px){.pt-weekday-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.pt-common-time{align-items:start;flex-direction:column}}

/* Pair renewal and attendance forms. */
.pt-pair-panel { line-height: 1.5; }
.pt-pair-panel p { margin: 0 0 12px; }
.pt-pair-panel ul { padding-left: 24px; margin: 12px 0; }
.pt-pair-panel fieldset { border: 1px solid #d9e3e8; border-radius: 10px; padding: 16px; margin: 0 0 18px; }
.pt-pair-panel legend { font-weight: 700; padding: 0 6px; }
.pt-pair-panel label { display: inline-flex; flex-direction: column; gap: 5px; margin: 5px 12px 10px 0; vertical-align: top; }
.pt-pair-panel label:has(input[type=checkbox]) { flex-direction: row; align-items: center; }
.pt-pair-panel input:not([type=checkbox]), .pt-pair-panel select { padding: 9px; border: 1px solid #bdcdd7; border-radius: 6px; max-width: 100%; }
.pt-hours-card p { margin: 8px 0; line-height: 1.4; }

.pt-hours-report-drawer{width:min(1120px,calc(100vw - 24px))}.pt-report-filters{display:flex;gap:16px;margin:18px 0}.pt-report-filters label{flex:1;font-size:12px;font-weight:800}.pt-report-filters select{display:block;width:100%;padding:10px;margin-top:6px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text)}.pt-report-totals{display:flex;flex-direction:column;gap:6px;padding:14px;background:#e6f3ec;border:1px solid #b7d8c6;border-radius:10px;margin-bottom:12px}.pt-report-totals strong{font-size:18px}.pt-report-totals small{color:var(--text2)}.pt-report-table{width:100%;min-width:850px;border-collapse:collapse;background:white;font-size:12px}.pt-report-table caption{text-align:left;padding:12px 0;font-weight:800;color:var(--text2)}.pt-report-table th,.pt-report-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.pt-report-table thead th{background:var(--green);color:white;font-size:11px}.pt-report-table small{display:block;margin-top:4px;color:var(--text3)}.pt-report-table .pt-report-day>*{background:#e6f3ec;color:#1e6843;font-weight:800}.pt-report-person{min-height:25px}.pt-report-warning{color:#9b2e2e!important}@media(max-width:720px){.pt-hours-report-drawer{width:100%}.pt-report-filters{flex-direction:column;gap:10px}}

.pt-compensation-rules{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:12px;margin-bottom:14px;color:var(--text2);font-size:12px;line-height:1.5}
.pt-compensation-rules table{width:100%;border-collapse:collapse;text-align:left}.pt-compensation-rules th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text3);padding-bottom:5px}.pt-compensation-rules td{padding:5px 0;border-bottom:1px solid var(--border)}.pt-compensation-rules th:last-child,.pt-compensation-rules td:last-child{text-align:right}.pt-compensation-rules td:last-child{font-weight:800;color:var(--green)}
.pt-compensation-rules dl{margin:10px 0}.pt-compensation-rules dl>div{display:grid;grid-template-columns:110px 1fr;gap:8px;margin:5px 0}.pt-compensation-rules dt{font-weight:800;color:var(--text)}.pt-compensation-rules dd{margin:0}.pt-compensation-rules p{margin:8px 0;color:var(--text3)}.pt-compensation-rules summary{cursor:pointer;font-weight:700;color:var(--text2)}.pt-compensation-rules ul{padding-left:18px;margin:8px 0 0}.pt-compensation-rules li+li{margin-top:5px}
@media(max-width:400px){.pt-compensation-rules dl>div{grid-template-columns:1fr;gap:0}}
