/* Shared GymOS interface refinement for all staff modules */
body.staff-page .app-main .card{border:1px solid #e6e9f3;border-radius:18px;box-shadow:0 8px 25px rgba(21,30,69,.04);overflow:hidden}
body.staff-page .app-main .card-header{background:#fff;border-bottom:1px solid #ecedf5;padding:18px 22px;font-size:15px;font-weight:800;color:#202947}
body.staff-page .app-main .card-body{padding:22px}
body.staff-page .app-main :is(input.form-control,select.form-select,textarea.form-control){border:1px solid #dce2ef;border-radius:11px;min-height:44px;background-color:#fff;color:#222d49;padding:10px 12px;box-shadow:none;max-width:100%}
body.staff-page .app-main :is(input.form-control,select.form-select,textarea.form-control):focus{border-color:#7a65e1;box-shadow:0 0 0 3px rgba(102,81,216,.12)}
body.staff-page .app-main textarea.form-control{min-height:95px;resize:vertical}
body.staff-page .app-main label:not(.form-check-label):not(.nutrition-chip){font-weight:700;font-size:12px;color:#455070;margin-bottom:7px}
body.staff-page .app-main .btn-primary{background:var(--gym-primary,#6651d8);border-color:var(--gym-primary,#6651d8);border-radius:10px;font-weight:750;min-height:39px}
body.staff-page .app-main .btn-primary:hover{filter:brightness(.94)}
body.staff-page .app-main .table-responsive{border-radius:12px;overflow:auto}
body.staff-page .app-main .table{margin-bottom:0;vertical-align:middle}
body.staff-page .app-main .table thead th{background:#f7f8fc;color:#606c87;font-size:11px;font-weight:800;white-space:nowrap;padding:14px}
body.staff-page .app-main .table tbody td{padding:14px;color:#3f4c6c;font-size:12px;border-color:#eef0f6}
body.staff-page .app-main .table tbody tr:hover{background:#fcfbff}
body.staff-page .app-main .empty-state{padding:25px 12px;text-align:center;color:#8890a8}
body.staff-page .app-main .row>[class*="col-"]{min-width:0}
body.staff-page .app-main :is(.form-grid,.row) .form-control{width:100%}
body.staff-page .app-main .page-intro{border-radius:20px}
body.staff-page .app-main .ts-wrapper{width:100%;min-width:0;font-size:13px}
body.staff-page .app-main .ts-control{min-height:44px;border:1px solid #dce2ef;border-radius:11px;padding:9px 12px;box-shadow:none;background:#fff;color:#202947;gap:6px;align-items:center;direction:inherit}
body.staff-page .app-main .ts-wrapper.focus .ts-control{border-color:#7a65e1;box-shadow:0 0 0 3px rgba(102,81,216,.12)}
body.staff-page .app-main .ts-dropdown{border:1px solid #e5e6f3;border-radius:12px;overflow:hidden;box-shadow:0 15px 34px rgba(23,30,69,.14);background:#fff;direction:inherit;z-index:1080}
body.staff-page .app-main .ts-dropdown .option{padding:11px 13px;color:#273451}
body.staff-page .app-main .ts-dropdown .active{background:#f2efff;color:#5f48cb}
body.staff-page .app-main .ts-dropdown .no-results{padding:12px;color:#818ba2}
body.staff-page .app-main .ts-wrapper.single .ts-control input{min-width:50px}
@media(max-width:767.98px){body.staff-page .app-main .card-body{padding:16px}body.staff-page .app-main .card-header{padding:15px 16px}body.staff-page .app-main .row.g-3{row-gap:13px}body.staff-page .app-main .table{min-width:610px}}

/* My shift and account security — GymOS unified refinements */
.gym-shift-page,.gym-security-page{--shift-ink:#1c2546;--shift-muted:#78839d;--shift-line:#e7eaf4;max-width:1450px;margin-inline:auto;padding-bottom:38px}
.gym-shift-page .gym-shift-hero{border-radius:22px;min-height:180px;padding:30px 35px;background:linear-gradient(112deg,#161c39,#363274 62%,#6950d9);box-shadow:0 12px 30px rgba(29,32,82,.09)}
.gym-shift-page .gym-shift-hero h2{font-size:clamp(24px,2.7vw,34px);font-weight:850}
.gym-shift-page .gym-shift-overview .card-body{display:flex;flex-direction:column;justify-content:center;gap:8px}
.gym-shift-page .gym-shift-overview .card-body>h2{font-size:clamp(22px,2vw,29px);color:var(--shift-ink)}
.gym-shift-page .gym-shift-overview .card-body>form{margin-top:8px}
.gym-shift-page .gym-shift-overview .card-body>form .btn{min-height:48px}
.gym-shift-page .gym-leave-card .card-body{padding:26px}
.gym-shift-page .gym-leave-form{align-items:end}
.gym-shift-page .gym-leave-form .col-12{display:flex;justify-content:flex-start;margin-top:12px}
.gym-shift-page .gym-leave-form .btn{min-width:155px;min-height:46px}
.gym-shift-page .gym-leave-form label{display:block}
.gym-shift-page .gym-leave-form input[type=date]{min-width:0;width:100%}
.gym-security-page .page-intro{margin-bottom:22px}
.gym-security-page .gym-security-card{border-radius:20px}
.gym-security-page .gym-security-card .card-body{padding:clamp(20px,3vw,34px)}
.gym-security-page .gym-security-card label{display:block;margin-bottom:9px}
.gym-security-page .gym-security-card .form-control{min-height:52px}
.gym-security-page .gym-security-card .btn-primary{min-height:49px;font-size:15px}
.gym-security-page .gym-security-card small{display:block;margin-top:7px;font-size:12px;line-height:1.8}
@media(max-width:767.98px){.gym-shift-page .gym-shift-hero{min-height:150px;padding:22px}.gym-shift-page .gym-leave-card .card-body{padding:16px}.gym-shift-page .gym-leave-form .btn{width:100%}.gym-security-page .gym-security-card .card-body{padding:19px}}
