.procurement-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-bottom:1rem}
.procurement-hero .procurement-new-request{display:inline-flex;align-items:center;justify-content:center;min-width:132px;background:#fff!important;color:#5426b4!important;border:1px solid #e4d9f8;box-shadow:0 8px 20px #21143e30;text-decoration:none;opacity:1}
.procurement-hero .procurement-new-request:hover{background:#f8f4ff!important;color:#45208f!important;border-color:#cdb8ef}
.procurement-request-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.procurement-request-actions .procurement-new-request{min-width:190px}.procurement-request-table{min-width:1420px}.procurement-request-table td{vertical-align:top}.procurement-request-table td small{display:block;max-width:340px;margin-top:4px;color:var(--muted);white-space:normal}.procurement-request-table .po-reference{color:var(--purple);font-weight:850}.request-dialog .dialog-heading p{margin:.2rem 0 0;color:var(--muted)}.request-items-fieldset{padding:1rem;border:1px solid var(--line);border-radius:12px;background:#faf9fc}.request-items-fieldset legend{padding:0 .4rem;color:var(--purple);font-weight:850}.request-items{display:grid;gap:.6rem}.request-item-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.35fr) 42px;align-items:end;gap:.65rem;padding:.65rem;border:1px solid #e6e0ec;border-radius:10px;background:#fff}.request-item-row label{margin:0}.remove-request-item{display:grid;width:42px;height:46px;place-items:center;border:1px solid #fecdd3;border-radius:9px;background:#fff1f2;color:#a91d37;font-size:1.25rem;cursor:pointer}.add-request-item{margin-top:.75rem}.request-item-list{display:grid;gap:.3rem;margin:0 0 .45rem;padding:0;list-style:none}.request-item-list li{display:flex;justify-content:space-between;gap:.8rem;padding:.35rem .5rem;border-radius:7px;background:#f6f3fb}.request-item-list li span{white-space:nowrap;color:var(--muted)}.priority-urgent{background:#fff1f2;color:#b42335}.priority-normal{background:#eef5ff;color:#1856a6}.priority-low{background:#f2f4f7;color:#475467}
.procurement-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;align-items:stretch}
.procurement-stats .task-stat{min-width:0}
.procurement-stats .task-stat strong{font-size:clamp(1.45rem,2.2vw,2rem);overflow-wrap:anywhere}
.procurement-tabs{width:100%;overflow-x:auto;scrollbar-width:thin}
.procurement-tabs a{white-space:nowrap}
.procurement-actions{margin:0;justify-content:flex-end;flex-wrap:wrap}
.procurement-table{min-width:980px}
.procurement-table th,.procurement-table td{vertical-align:middle}
.stock-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.stock-card{min-width:0}
.stock-quantities{display:grid!important;grid-template-columns:repeat(3,1fr);gap:.5rem}
.stock-quantities span{padding:.65rem;border-radius:.65rem;background:#f6f3fb;text-align:center}
.stock-quantities small,.stock-quantities b{display:block;margin:0}
.stock-quantities b{font-size:1.05rem;color:var(--ink)}
.stock-value{display:flex!important;justify-content:space-between;gap:.75rem;color:var(--muted);font-size:.82rem}
.wide-dialog{width:min(860px,calc(100vw - 2rem));max-width:860px;max-height:90vh;overflow:auto}
.permission-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:.8rem}
.permission-matrix{min-width:1180px;margin:0}
.permission-matrix th{position:sticky;top:0;background:#f7f5fc;z-index:1;text-align:center}
.permission-matrix th:first-child{left:0;z-index:2;text-align:left;min-width:220px}
.permission-matrix tbody th{position:sticky;left:0;background:#fff;text-align:left;z-index:1}
.permission-matrix td{text-align:center}
.permission-matrix input{width:1.15rem;height:1.15rem;accent-color:var(--purple);cursor:pointer}
.permission-save{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}
.permission-save p{margin:0;color:var(--muted)}
.integration-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem;margin-bottom:1rem;border-radius:1rem;color:#fff;background:linear-gradient(125deg,#251848,#5e2bb8 60%,#2877db)}
.integration-hero h2,.integration-hero p{margin:0}.integration-hero p{margin-top:.3rem;color:#e9ddff}.integration-hero .eyebrow{color:#d8c8ff}
.integration-state{padding:.55rem .8rem;border:1px solid #ffffff40;border-radius:99px;background:#ffffff14;white-space:nowrap;font-weight:800}.integration-state.enabled{background:#0c8b5b}
.integration-statuses{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.smtp-settings{margin:1.25rem 0;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:#faf9fd}.smtp-settings legend{padding:0 .45rem;color:var(--purple);font-weight:850}.mail-test{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:1rem;padding:1rem;border:1px solid #dcd4ea;border-radius:.8rem;background:#f7f4fc}.mail-test label{margin:0}.mail-test>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}
.integration-panel hr{margin:1.5rem 0;border:0;border-top:1px solid var(--line)}
.integration-toggle{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;margin:1rem 0;border:1px solid var(--line);border-radius:.8rem;background:#faf9fd}.integration-toggle input{width:1.2rem;height:1.2rem;margin-top:.15rem;accent-color:var(--purple)}.integration-toggle span,.integration-toggle small{display:block}.integration-toggle small{margin-top:.2rem;color:var(--muted)}
.recaptcha-wrap{max-width:100%;overflow:hidden;margin:.75rem 0}.auth-link{display:block;margin-top:.85rem;text-align:center;color:var(--purple);font-weight:750}.auth-button{display:block;text-align:center}.password-change-form .primary{margin-top:1rem}
@media(max-width:760px){.procurement-hero{grid-template-columns:1fr}.procurement-request-actions{display:grid;width:100%;justify-content:stretch}.procurement-request-actions .procurement-new-request{width:100%;min-width:0}.procurement-actions{width:100%;justify-content:stretch}.procurement-actions .button{flex:1;text-align:center}.stock-quantities{grid-template-columns:1fr}.request-item-row{grid-template-columns:minmax(0,1fr) 110px 42px}.permission-save{align-items:stretch;flex-direction:column}.permission-save .primary{width:100%}.wide-dialog .three{grid-template-columns:1fr}.integration-hero{align-items:flex-start;flex-direction:column}.integration-statuses{justify-content:flex-start}.integration-state{white-space:normal}.mail-test{grid-template-columns:1fr}.mail-test>div{display:grid;justify-content:stretch}.recaptcha-wrap{transform-origin:left top;transform:scale(.88);margin-bottom:-.2rem}}
@media(max-width:520px){.request-item-row{grid-template-columns:1fr 1fr}.request-item-row .remove-request-item{grid-column:1/-1;width:100%;height:40px}.request-item-list li{align-items:flex-start;flex-direction:column;gap:.1rem}.request-item-list li span{white-space:normal}}

/* Controlled deletion and system-retention controls */
.button.danger{background:#fff1f2!important;color:#a91d37!important;border:1px solid #fecdd3;box-shadow:none}
.button.danger:hover{background:#ffe4e6!important;border-color:#fda4af}
.inline-delete{display:inline;margin:0}.inline-delete .button{min-height:36px;padding:7px 10px;white-space:nowrap}
.management-table{min-width:840px}.management-table td{vertical-align:middle}
.pill.warning{margin-left:5px;background:#fff7ed;color:#b45309}.pill.danger{margin-left:5px;background:#fff1f2;color:#a91d37}
.row-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.row-actions a{font-weight:750}
.deletion-approval-panel{border-top:4px solid #e08718}
.deletion-approval-table{min-width:1100px}
.deletion-approval-table td small{display:block;color:var(--muted);margin-top:3px}
.request-reason{max-width:320px;max-height:95px;overflow:auto;white-space:normal}
.approval-form{min-width:280px}.approval-form input{margin:0 0 7px;min-height:39px;padding:8px}.approval-form>div{display:flex;gap:6px}.approval-form .button{min-height:38px;padding:7px 10px}
.empty-state{display:grid;gap:3px;padding:18px;border:1px dashed #d8d0e4;border-radius:11px;background:#faf9fc;color:var(--muted)}.empty-state b{color:var(--ink)}
@media(max-width:700px){.management-table{min-width:760px}.approval-form>div{display:grid}.row-actions{align-items:flex-start;flex-direction:column;gap:4px}}

/* Separate client and site directories */
.records-switcher{display:inline-flex;gap:5px;margin:0 0 14px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 5px 18px #2e16410a}.records-switcher a{min-width:110px;padding:9px 16px;border-radius:8px;color:var(--muted);font-weight:800;text-align:center}.records-switcher a.active{background:var(--purple);color:#fff;box-shadow:0 5px 14px #5426b42d}
.directory-panel{border-top:4px solid var(--purple)}.client-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.client-record{display:flex;min-width:0;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#fbf9ff);box-shadow:0 8px 24px #2b153508}.client-record-head{display:flex;align-items:center;gap:12px}.client-record-head img,.client-record-head .avatar{width:54px;height:54px;flex:0 0 54px;border-radius:12px;object-fit:contain;background:#f3effb}.client-record-head h3{margin:0 0 5px;overflow-wrap:anywhere}.record-details{display:grid;gap:9px;margin:16px 0}.record-details div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px}.record-details dt{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.record-details dd{margin:0;overflow-wrap:anywhere;line-height:1.45}.record-link{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-weight:800}.record-link span{float:right}
.directory-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.directory-summary span{padding:8px 12px;border:1px solid #ded7e9;border-radius:999px;background:#faf9fc;color:var(--muted)}.directory-summary b{color:var(--ink)}.site-filter{margin-bottom:15px}.site-directory-table{min-width:920px}.site-directory-table td{vertical-align:middle}.site-directory-table td small{display:block;margin-top:4px;color:var(--muted)}.pill.status-active{background:#e9f9ef;color:#19743a}.action-empty{margin-top:14px}.action-empty .button{justify-self:start;margin-top:7px}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}.dialog-heading small{color:var(--purple);font-weight:850;letter-spacing:.08em}.dialog-heading h2{margin:2px 0 0}.dialog-close{display:grid;width:40px;height:40px;padding:0;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:1.3rem}.form-help{margin:4px 0 14px;color:var(--muted);font-size:.88rem}
@media(max-width:1100px){.client-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.records-switcher{display:grid;grid-template-columns:1fr 1fr;width:100%;box-sizing:border-box}.records-switcher a{min-width:0}.client-directory{grid-template-columns:1fr}.client-record{padding:16px}.record-details div{grid-template-columns:62px minmax(0,1fr)}.site-directory-table{min-width:820px}.directory-summary{display:grid;grid-template-columns:repeat(3,1fr)}.directory-summary span{text-align:center;padding:8px 5px}}
@media(max-width:420px){.directory-summary{grid-template-columns:1fr}.directory-summary span{text-align:left}}

/* Dashboard shortcuts, personal attendance and project/site record types */
.dashboard-shortcuts{border-top:4px solid var(--purple)}
.shortcut-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.shortcut-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#fff,#faf8ff);color:var(--ink);text-decoration:none;box-shadow:0 6px 18px #2b153508;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.shortcut-card:hover{transform:translateY(-2px);border-color:#bca7df;color:var(--ink);text-decoration:none;box-shadow:0 10px 24px #5426b418}
.shortcut-card .shortcut-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;background:#f1ebfb;color:var(--purple);font-size:1.15rem}
.shortcut-card strong{display:block;overflow-wrap:anywhere}.shortcut-card>b{color:var(--purple);font-size:1.05rem}
.attendance-overview{border-top:4px solid #167f68}
.attendance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.attendance-summary-grid article{display:grid;gap:4px;min-width:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fbfafc}.attendance-summary-grid small{color:var(--muted);font-weight:800}.attendance-summary-grid strong{font-size:1.65rem;color:var(--ink)}.attendance-summary-grid span{color:var(--muted);font-size:.82rem}.attendance-summary-grid .attendance-state{font-size:1.12rem}.attendance-state.on-site{color:#11754a}.attendance-state.off-site{color:#667085}
.attendance-export-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto;align-items:end;gap:12px;margin:0 0 16px;padding:14px;border:1px solid #dcd5e8;border-radius:12px;background:#f8f6fb}.attendance-export-form label{margin:0}.attendance-export-form .button{min-height:46px;white-space:nowrap}
.personal-attendance-table{min-width:900px}.personal-attendance-table td{vertical-align:middle}.personal-attendance-table td:nth-child(3) b{display:block;margin-top:5px}.record-type{margin-right:6px}.record-type.project{background:#ede9fe;color:#5b21b6}.record-type.site{background:#e7f7f1;color:#126d55}.directory-summary-wide{grid-template-columns:repeat(4,minmax(0,auto))}.site-directory-table{min-width:1040px}
@media(max-width:900px){.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-export-form{grid-template-columns:1fr 1fr}.attendance-export-form .button{grid-column:1/-1;width:100%;text-align:center}.directory-summary-wide{display:grid;grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.shortcut-grid{grid-template-columns:1fr}.shortcut-card{padding:12px}.attendance-summary-grid,.attendance-export-form{grid-template-columns:1fr}.attendance-export-form .button{grid-column:auto}.attendance-overview .section-head{align-items:stretch;flex-direction:column}.attendance-overview .section-head .button{width:100%;text-align:center}.directory-summary-wide{grid-template-columns:1fr}.personal-attendance-table{min-width:760px}}

/* Client logo upload and controlled client deletion */
.client-record-actions{display:grid;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.client-record-actions .record-link{padding-top:0;border-top:0}.client-delete-button{justify-self:start;min-height:38px;padding:8px 11px}.client-deletion-table{min-width:980px}.client-deletion-table td{vertical-align:top}.client-deletion-table .approval-form{min-width:310px}.client-deletion-table .request-reason{min-width:220px}.client-deletion-table .button{font-size:.82rem}
@media(max-width:700px){.client-delete-button{width:100%}.client-deletion-table{min-width:900px}}

/* Aligned and responsive password-change panel */
.password-panel{overflow:hidden}.password-change-form{display:grid;gap:18px}.password-policy{display:flex;align-items:flex-start;gap:11px;margin-top:4px;padding:13px 14px;border:1px solid #dcd2ed;border-radius:12px;background:#f8f5fd;color:var(--ink)}.password-policy>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#e8def9;color:var(--purple);font-weight:900}.password-policy p,.password-policy b,.password-policy small{display:block;margin:0}.password-policy small{margin-top:2px;color:var(--muted)}.password-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px}.password-grid label{display:grid;grid-template-rows:auto 46px;gap:7px;min-width:0;margin:0}.password-grid input{height:46px}.password-change-actions{display:flex;justify-content:flex-end;padding-top:2px}.password-change-actions .primary{min-width:180px;margin:0}
@media(max-width:900px){.password-grid{grid-template-columns:1fr}.password-grid label{grid-template-rows:auto 46px}}
@media(max-width:760px){.password-change-actions{justify-content:stretch}.password-change-actions .primary{width:100%}}

/* Super Admin notification sound */
.notification-sound-preview{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,420px);align-items:center;gap:18px;margin:14px 0;padding:15px;border:1px solid var(--line);border-radius:12px;background:#faf9fd}.notification-sound-preview>div{display:grid;gap:3px}.notification-sound-preview small,.notification-sound-upload small{display:block;color:var(--muted);font-weight:500}.notification-sound-preview audio{width:100%;height:42px}.notification-sound-upload{display:grid;gap:7px;margin:16px 0}.notification-sound-upload input{min-height:48px;padding:9px;background:#fff}.notification-sound-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.notification-sound-actions button{min-height:44px}
@media(max-width:700px){.notification-sound-preview{grid-template-columns:1fr}.notification-sound-actions{display:grid}.notification-sound-actions button{width:100%}}

/* User Activities pagination */
.user-activities-table{min-width:840px}.activity-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.activity-page-numbers{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.activity-page-link{display:grid;min-width:40px;height:40px;padding:0 11px;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--purple);font-weight:800;text-decoration:none}.activity-page-link:hover{border-color:#bba8dc;background:#f7f3fd;text-decoration:none}.activity-page-link.active{border-color:var(--purple);background:var(--purple);color:#fff;box-shadow:0 6px 15px #5426b42b}.activity-page-link.disabled{pointer-events:none;opacity:.45;color:var(--muted)}
@media(max-width:700px){.activity-pagination{align-items:stretch;flex-wrap:wrap}.activity-page-numbers{order:3;flex-basis:100%}.activity-page-link{min-width:38px;height:38px}.activity-pagination>a{flex:1}}

/* Attendance actions, activity outcomes and evidence history */
.attendance-action-panel{border-top:4px solid #5426b4}.attendance-mode{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:99px;font-weight:850;font-size:.82rem}.attendance-mode::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.attendance-mode.ready{background:#ecfdf5;color:#08734a}.attendance-mode.active{background:#fff7ed;color:#b45309}.attendance-submit-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}.attendance-submit-actions:has(.next-site-action){grid-template-columns:1fr 1fr}.attendance-main-action,.next-site-action{min-height:52px;padding:13px 18px;border:0;border-radius:11px;color:#fff;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 8px 18px #1911261a}.attendance-main-action.checkin-action{background:#14804a}.attendance-main-action.checkin-action:hover{background:#0d6b3c}.attendance-main-action.checkout-action{background:#c92f3c}.attendance-main-action.checkout-action:hover{background:#a91f2c}.next-site-action{background:#5b2eb4}.next-site-action:hover{background:#48218f}.attendance-main-action:disabled,.next-site-action:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.attendance-outcome-dialog{width:min(570px,calc(100% - 28px));padding:0;border:0;border-radius:18px;box-shadow:0 24px 70px #17102455}.attendance-outcome-dialog::backdrop{background:#17102499;backdrop-filter:blur(3px)}.outcome-dialog-content{padding:22px}.outcome-dialog-content .section-head{margin-bottom:15px}.dialog-close{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:25px;cursor:pointer}.attendance-outcome-options{display:grid;gap:9px}.attendance-outcome-options button{display:grid;gap:3px;width:100%;padding:15px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;cursor:pointer}.attendance-outcome-options button:hover{border-color:#8f6ad2;background:#f8f5fd}.attendance-outcome-options b{font-size:1rem}.attendance-outcome-options span{color:var(--muted);font-size:.85rem}.activity-history-table{min-width:1120px}.activity-history-table td{vertical-align:middle}.activity-history-table td:nth-child(2){min-width:220px}.activity-history-table td small,.evidence-count small{display:block;margin-top:4px;color:var(--muted);font-size:.76rem}.current-activity-row{background:#f0fdf7}.attendance-outcome{display:inline-flex;padding:6px 9px;border-radius:99px;background:#f3effa;color:#5426b4;font-size:.78rem;font-weight:800}.evidence-count{white-space:nowrap}.evidence-count b{color:#08734a}
@media(max-width:640px){.attendance-submit-actions:has(.next-site-action){grid-template-columns:1fr}.attendance-main-action,.next-site-action{width:100%}.attendance-action-panel .section-head{align-items:flex-start}.attendance-mode{align-self:flex-start}.outcome-dialog-content{padding:17px}.attendance-outcome-dialog .section-head{flex-direction:row}.activity-history-table{min-width:1040px}}

/* Consistent profile photo rendering */
.profile-photo-image{display:block;max-width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 25%;image-orientation:from-image;background:#eee9f7;color:transparent}.profile-header>.profile-photo-image{flex:0 0 84px;width:84px;height:84px;border:3px solid #fff;box-shadow:0 8px 22px #21143e20}.current-profile-photo>.profile-photo-image{flex:0 0 64px;width:64px;height:64px;border-radius:14px;border:1px solid #ded7e9}.employee-profile-identity>.profile-photo-image{flex:0 0 88px;width:88px;height:88px}.employee-table-person>.profile-photo-image{width:44px;height:44px}.message-avatar.profile-photo-image{border-radius:50%}
@media(max-width:520px){.profile-header>.profile-photo-image{flex-basis:68px;width:68px;height:68px}.employee-profile-identity>.profile-photo-image{flex-basis:68px;width:68px;height:68px}.current-profile-photo>.profile-photo-image{flex-basis:56px;width:56px;height:56px}}
