*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#403237;background:#f8f4f2}a{color:#97425c}header{background:white;border-bottom:1px solid #eadeda;min-height:70px;padding:18px clamp(20px,5vw,60px);display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}header strong{letter-spacing:.04em;color:#853f4a;font-size:17px}header nav{display:flex;gap:18px;font-size:13px}main{max-width:1050px;margin:40px auto;padding:0 20px}main.narrow{max-width:510px}h1{font-size:25px;color:#49323b;margin:0 0 8px}h2{font-size:18px;margin:0 0 15px}p{font-size:13px;line-height:1.65;color:#74646c}.card{background:#fff;border:1px solid #e8dbd8;border-radius:13px;box-shadow:0 9px 28px rgba(74,41,45,.05);padding:27px;margin-bottom:19px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#6e4d56}input,select,textarea{width:100%;padding:12px;border:1px solid #d9cac6;border-radius:8px;font-size:13px;background:white;color:#352c2d;font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #bb8995;outline-offset:2px}button,.button{border:1px solid #b87785;background:#a04f69;color:white;border-radius:9px;padding:11px 16px;font-size:13px;font-weight:bold;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button.secondary,.button.secondary{color:#854556;background:white;border-color:#dac5ca}button.danger{background:#a64040;border-color:#a64040}button:disabled{opacity:.55;cursor:not-allowed}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.error{color:#a03145;font-weight:bold}.success{color:#257449;font-weight:bold}.hint{color:#887980;font-size:11px}.notice{background:#fff7f1;padding:13px 16px;border-radius:8px;border:1px solid #eedbc4}.summary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;border-bottom:1px solid #eee2de;padding:11px 9px;vertical-align:middle}th{font-size:10px;text-transform:uppercase;color:#8b7078}td button{padding:7px 10px;font-size:11px}td strong{color:#41323c}td small{color:#7f6e78} .tag{display:inline-block;padding:4px 8px;border-radius:6px;background:#f7e9eb;font-size:11px;font-weight:bold;color:#85505c}.tag.disabled{background:#f4e5e3;color:#a3494a} .hidden{display:none!important}.invite{padding:15px;margin:15px 0;background:#f7fbf6;border:1px solid #d5e7d5;border-radius:8px}.invite code{word-break:break-all;display:block;font-size:12px;margin:8px 0}footer{max-width:1050px;margin:25px auto;text-align:center;font-size:11px;color:#92868a;padding:15px}@media(max-width:650px){main{margin:24px auto}.grid{grid-template-columns:1fr}.card{padding:19px}header{padding:15px 19px}}
body:has(#staff-form) main,body:has(#staff-form) footer{max-width:1320px}body:has(#staff-form) table{min-width:1050px}body:has(#staff-form) th,body:has(#staff-form) td{display:table-cell;vertical-align:middle;border-bottom:1px solid #eee2de}body:has(#staff-form) .tag{display:inline-block;white-space:nowrap}body:has(#staff-form) td:last-child{min-width:145px}body:has(#staff-form) td:last-child button{margin:2px}body:has(#staff-form) #editor{max-width:1000px;margin-left:auto;margin-right:auto}


/* Staff Directory: administrator-only records */
.staff-directory main,.staff-directory footer{max-width:1380px}
.staff-directory .summary{margin-bottom:20px}
.staff-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.staff-directory .staff-list-card{padding:18px 20px}
.staff-table-toolbar{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;justify-content:space-between;margin-bottom:15px}
.staff-table-toolbar label{max-width:310px;min-width:235px}
.staff-filter-count{font-size:12px;color:#796873;padding-bottom:10px}
.staff-directory .staff-records{width:100%;min-width:1130px;table-layout:fixed;border-collapse:collapse}
.staff-directory .staff-records th,.staff-directory .staff-records td{
 display:table-cell;vertical-align:middle;border-bottom:1px solid #e9e0df;
 padding:13px 9px;line-height:1.45;overflow-wrap:anywhere
}
.staff-directory .staff-records thead th{color:#79616b;vertical-align:bottom}
.staff-directory .staff-records th:nth-child(1){width:13%}
.staff-directory .staff-records th:nth-child(2){width:19%}
.staff-directory .staff-records th:nth-child(3){width:13%}
.staff-directory .staff-records th:nth-child(4){width:11%}
.staff-directory .staff-records th:nth-child(5){width:16%}
.staff-directory .staff-records th:nth-child(6){width:12%}
.staff-directory .staff-records th:nth-child(7){width:9%}
.staff-directory .staff-records th:nth-child(8){width:7%}
.staff-directory .staff-records .staff-name{font-weight:700;color:#45333c}
.staff-directory .staff-status-cell{white-space:nowrap}
.staff-directory .staff-badge{
 display:inline-flex;align-items:center;gap:6px;padding:6px 10px;
 border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap
}
.staff-directory .staff-badge::before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:currentColor}
.staff-directory .status-active{background:#e5f5e9;color:#216b3b}
.staff-directory .status-pending{background:#fff0d6;color:#93600f}
.staff-directory .status-inactive{background:#fbe6e8;color:#a52d41}
.staff-directory .staff-row-actions{display:flex;flex-wrap:wrap;gap:5px}
.staff-directory .staff-row-actions button{font-size:11px;padding:7px 9px;white-space:nowrap}
.staff-modal{
 border:0;border-radius:16px;padding:0;color:#403237;
 background:white;width:min(880px,calc(100vw - 28px));
 max-width:880px;max-height:min(90dvh,1000px);
 box-shadow:0 22px 80px #251c2452;overflow:hidden
}
.staff-modal::backdrop{background:rgba(26,20,29,.62)}
.staff-dialog-layout{display:flex;flex-direction:column;max-height:min(90dvh,1000px)}
.staff-dialog-header{
 display:flex;flex:0 0 auto;justify-content:space-between;align-items:flex-start;
 gap:15px;padding:22px 26px 18px;border-bottom:1px solid #eee1e3;background:#fff
}
.staff-dialog-header h2{font-size:21px;margin:5px 0 0;color:#49323b}
.staff-eyebrow{font-size:10px;font-weight:800;letter-spacing:.11em;color:#a04f69}
.staff-modal .staff-close{
 background:#f7f1f3;border:0;color:#754953;font-size:23px;
 width:36px;height:36px;min-width:36px;padding:0;border-radius:50%
}
.staff-modal .staff-close:hover{background:#f0e2e7}
.staff-dialog-scroll{overflow-y:auto;padding:20px 26px 26px;overscroll-behavior:contain}
.staff-dialog-footer{
 display:flex;flex:0 0 auto;justify-content:flex-end;gap:10px;
 padding:15px 26px;border-top:1px solid #eee1e3;background:#fff
}
.staff-form-section{
 font-size:13px;margin:13px 0 0;color:#884b5f;
 padding:0 0 9px;border-bottom:1px solid #f0e6e9
}
.staff-modal form.grid{gap:14px}
.staff-modal label{min-width:0}
.staff-modal .staff-pay-fields,.staff-modal .staff-sensitive-grid{
 display:grid;grid-template-columns:1fr 1fr;gap:14px
}
.staff-checkbox-label{flex-direction:row;align-items:center;justify-content:flex-start;gap:9px;align-self:end;min-height:41px}
.staff-checkbox-label input{width:17px;height:17px;flex:0 0 auto}
.staff-modal .staff-field-note{font-size:11px;line-height:1.5;color:#83727a;font-weight:400;margin:0;align-self:center}
.staff-modal #editor-notice:not(:empty),.staff-modal #job-titles-notice:not(:empty){margin-bottom:14px}
.staff-modal #invite{margin:18px 0 0}
.staff-modal #invite code{white-space:normal}
.staff-sensitive-section{border:1px solid #e5d7db;border-radius:11px;padding:15px 17px}
.staff-sensitive-section summary{cursor:pointer;color:#81475c;font-size:13px;font-weight:700}
.staff-sensitive-section p{margin:9px 0 13px}
.staff-sensitive-grid{margin-top:13px}
.staff-modal button:focus-visible{outline:3px solid #b47a91;outline-offset:2px}
.job-titles-modal{width:min(660px,calc(100vw - 28px))}
.job-title-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end;margin:18px 0 25px}
.job-title-form button{white-space:nowrap}
.job-titles-table{width:100%}
.job-titles-table td:last-child{min-width:160px}
@media(max-width:650px){
 .staff-directory .staff-list-card{padding:12px}
 .staff-modal{max-height:calc(100dvh - 18px)}
 .staff-dialog-layout{max-height:calc(100dvh - 18px)}
 .staff-dialog-header{padding:17px 18px 13px}
 .staff-dialog-scroll{padding:16px 18px 20px}
 .staff-dialog-footer{padding:12px 18px}
 .staff-modal .staff-pay-fields,.staff-modal .staff-sensitive-grid{grid-template-columns:1fr}
 .staff-modal .staff-checkbox-label{min-height:26px}
 .job-title-form{grid-template-columns:1fr 1fr}
 .job-title-form label{grid-column:1/-1}
}
