/* All plugin styling is scoped to .stp-* to avoid disturbing Kadence or other sites. */
.stp-panel{background:#fff;color:#202b37;border:1px solid #dbe3e9;border-radius:14px;padding:18px;margin:16px 0;box-shadow:0 2px 5px rgba(10,30,50,.04)}
.stp-panel h2,.stp-panel h3,.stp-month h2{margin:0 0 12px;line-height:1.2}
.stp-panel p{margin:8px 0 13px}
.stp-panel label{display:block;font-weight:600;margin:10px 0 8px}
.stp-panel input:not([type=hidden]),.stp-panel select,.stp-panel textarea{display:block;width:100%;max-width:100%;padding:10px;border:1px solid #a9bac8;border-radius:8px;background:white;color:#17212a;font:inherit}
.stp-panel button,.stp-button{display:inline-block!important;background:#135d7a!important;color:#fff!important;border:0!important;border-radius:9px!important;padding:11px 15px!important;margin:5px 6px 5px 0!important;font:inherit!important;font-weight:650!important;text-decoration:none!important;cursor:pointer}
.stp-panel button:hover,.stp-button:hover{background:#0c4259!important;color:#fff!important}
.stp-panel .stp-secondary{background:#dce6ec!important;color:#123247!important}
.stp-panel .stp-secondary:hover{background:#c7d6df!important;color:#123247!important}
.stp-quick,.stp-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.stp-notice{border-left:4px solid #256c88;background:#eaf5fa;padding:12px 15px;margin:14px 0;border-radius:7px}
.stp-nav{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}
.stp-nav a{background:#eaf1f5;border-radius:9px;color:#18394d;text-decoration:none;padding:9px 13px;font-weight:600}
.stp-nav a:hover{background:#d9e8ef}
.stp-legend{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.stp-pill{border-radius:99px;padding:4px 9px;display:inline-block;font-size:12px;font-weight:700;line-height:1.3}
.stp-pill.filled{color:#116348;background:#e4f6ed}
.stp-pill.open{color:#7f4f03;background:#fff2d3}
.stp-pill.pending{color:#1d5777;background:#e5f3fe}
.stp-month{margin:25px 0 38px}
.stp-month h2{font-size:clamp(22px,3vw,30px)}
.stp-calendar-scroll{overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid #dbe2e8;border-radius:14px;background:white}
.stp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:745px}
.stp-dow{background:#183b50;color:#fff;text-align:center;padding:10px 5px;font-size:12px;font-weight:700}
.stp-day,.stp-empty{min-width:0;min-height:128px;border-right:1px solid #e3e8ec;border-bottom:1px solid #e3e8ec;padding:7px 5px}
.stp-day.today{outline:2px solid #226d91;outline-offset:-2px;background:#eff8ff}
.stp-day-number{font-weight:700;margin-bottom:5px;font-size:14px}
.stp-slot{padding:3px 5px;margin:3px 0;border-radius:5px;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.stp-slot.filled{background:#e5f5ec;color:#144732}
.stp-slot.open{background:#fff3d7;color:#6d4b0b}
.stp-slot .stp-rank{font-weight:700}
.stp-slot a{font-weight:800;text-decoration:underline;color:#734a00}
.stp-person{display:inline}
.stp-clock{text-align:center;max-width:620px;margin:16px auto}
.stp-clock .stp-status{font-size:22px;font-weight:750}
.stp-small{font-size:12px!important;color:#536572}
.stp-table-wrap{width:100%;overflow-x:auto}
.stp-table{width:100%;border-collapse:collapse;font-size:14px}
.stp-table th,.stp-table td{padding:9px 8px;border-bottom:1px solid #dde5ea;vertical-align:top;text-align:left}
.stp-table th{background:#edf3f6;font-weight:750}
.stp-table form{min-width:200px}
.stp-table input[type=datetime-local]{min-width:190px}
.stp-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stp-report{white-space:pre;overflow-x:auto;padding:12px;background:#f1f4f7;border-radius:8px;max-height:300px;font-size:12px}
.stp-login{max-width:450px;margin:20px auto}
.stp-login .login-username,.stp-login .login-password,.stp-login .login-remember{margin:15px 0}
@media(max-width:780px){.stp-quick,.stp-forms,.stp-fields{grid-template-columns:1fr}.stp-panel{padding:14px}.stp-month{margin:16px 0 26px}.stp-calendar-scroll:before{content:'Scroll sideways to view all seven days →';display:block;position:sticky;left:0;background:#f1f5f8;color:#476273;font-size:12px;padding:6px 10px;z-index:1}}

/* Admin-only day selection settings: intentionally scoped to the staff portal. */
.stp-weekdays{border:1px solid #dbe3e9;border-radius:10px;padding:12px;margin:14px 0}
.stp-weekdays legend{font-weight:700;padding:0 6px}
.stp-weekday-options{display:flex;gap:8px;flex-wrap:wrap}
.stp-panel .stp-weekday-options label{display:inline-flex;align-items:center;gap:5px;margin:0;padding:7px 10px;background:#f1f5f8;border-radius:7px;font-weight:600}
.stp-panel .stp-weekday-options input[type=checkbox]{display:inline-block;width:auto;margin:0}

/* Public, information-free previews for visitors who have not signed in. */
.stp-public-gate{max-width:850px;margin:16px auto 22px;text-align:center;border:1px solid #bdd6e1;background:#f0f8fb}
.stp-public-gate p{max-width:650px;margin:10px auto 16px}
.stp-calendar-public .stp-day,.stp-calendar-public .stp-empty{min-height:72px}
.stp-calendar-public .stp-day.stp-closed-day{background:#f7f8f9}
.stp-calendar-public .stp-day-number{color:#33495a}
@media(max-width:780px){.stp-calendar-public .stp-day,.stp-calendar-public .stp-empty{min-height:64px}}
