.workforce-absence{max-width:1000px}.workforce-absence input,.workforce-absence select{max-width:100%;box-sizing:border-box}.workforce-absence [hidden]{display:none!important}.absence-card{border:1px solid #dbe5df;border-radius:14px;padding:16px;margin:12px 0;overflow-wrap:anywhere}.absence-status{display:inline-block;padding:5px 10px;border-radius:9px;font-weight:700;background:#eef2ef}.absence-pending{background:#fff1d9;color:#865800}.absence-approved,.absence-closed{background:#e6f3eb;color:#126246}.absence-active{background:#e6f0ff;color:#235890}.absence-rejected{background:#ffe8e6;color:#a52d25}.absence-check{display:flex;align-items:center;gap:10px;min-height:44px}.absence-check input{width:24px!important;min-height:30px}.absence-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.absence-actions button,.workforce-absence button{min-height:44px}.wfp .conflict-block{background:#fff0ed;border-left:4px solid #ae3528}.wfp .conflict-warning{background:#fff6df;border-left:4px solid #a77920}.wfp .staff-preview{margin:12px 0;border:1px solid #dce5df;border-radius:10px;padding:12px}.wfp .staff-preview p{margin:8px 0}.wfp .conflict-summary{border-radius:10px;padding:10px;background:#fff5e7;margin:10px 0}
@media(max-width:767px){.workforce-absence{padding-inline:12px!important}.workforce-absence .dashboard-card{min-width:0}.absence-actions button{flex:1;white-space:normal}}
.workforce-absence form label{display:grid;gap:6px;margin:12px 0;font-weight:600}.workforce-absence form input:not([type=checkbox]),.workforce-absence form select{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid #bdcec3;border-radius:10px;background:#fff;color:inherit;font:inherit;font-size:16px;min-width:0}.workforce-absence form .absence-check{display:flex;font-weight:400}.workforce-absence fieldset{min-width:0;border:1px solid #dbe5df;border-radius:10px;padding:10px}.workforce-absence fieldset .absence-check{margin:0}.workforce-absence form>.primary{width:100%}
/* Shared weekly absence calendar; symbols supplement status colors. */
.workforce-absence{max-width:none!important;padding:16px 20px 85px!important}.wfa-calendar{background:#fff;border:1px solid #dfe8e1;border-radius:10px;padding:12px;margin:12px 0}.wfa-week{display:flex;align-items:center;gap:7px;margin-bottom:15px}.wfa-week label{display:flex;align-items:center;gap:8px;margin:0;font-size:12px}.wfa-week input{max-width:150px;min-height:32px}.wfa-week button{min-height:32px;padding:5px 10px;background:#fff;border:1px solid #d9e3dc;border-radius:6px}.wfa-scroll{overflow:auto}.wfa-row{min-width:650px;display:grid;grid-template-columns:180px repeat(7,minmax(58px,1fr));border-bottom:1px solid #eef2ef;min-height:52px;align-items:center}.wfa-heading{font-size:11px;text-align:center;min-height:45px}.wfa-heading>b{text-align:left}.wfa-heading span>b{display:block;margin-top:4px}.wfa-person{position:sticky;left:0;background:white;display:flex;align-items:center;gap:8px;min-height:52px;padding-right:8px;z-index:1}.wfa-person b{font-size:11px;font-weight:500}.wfa-avatar{width:28px;height:28px;border-radius:50%;background:#e6eafa;color:#42618c;display:grid;place-items:center;font-size:10px;flex-shrink:0}.wfa-cell{display:flex;justify-content:center;gap:3px;flex-wrap:wrap;padding:4px}.wfa-dot{border:1.5px solid #3f9d73!important;border-radius:50%!important;height:28px!important;width:28px;min-height:28px!important;padding:0!important;display:inline-grid;place-items:center;background:#eef9f2!important;color:#296d4a!important;font-size:12px!important}.wfa-dot.wfa-none{background:#eef0ef!important;border-color:#eef0ef!important;color:#8d9a91!important}.wfa-dot.wfa-status-pending{border-color:#e9ac36!important;background:#fffbef!important;color:#996b13!important}.wfa-dot.wfa-sick{border-color:#db6260!important;background:#fff3f3!important;color:#b33d38!important}.wfa-dot.wfa-unavailable,.wfa-dot.wfa-unavailable_period{border-color:#dd6b68!important;background:#fff!important;color:#d34b47!important}.wfa-dot.wfa-vacation{border-color:#8e73cc!important;background:#f7f1ff!important;color:#7956ab!important}.wfa-legend{font-size:10px;color:#748579;display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:0}.wfa-legend span{font-weight:700;color:#246947;margin-left:7px}.wfa-create[hidden]{display:none!important}.wfa-create{position:fixed;inset:5vh auto auto 50%;transform:translateX(-50%);z-index:125;max-height:90dvh;width:430px;max-width:96vw;overflow:auto;box-shadow:0 0 0 100vmax #0d291f30,0 12px 35px #163e2b30;border-radius:12px!important}.wfa-form-heading{display:flex;justify-content:space-between;align-items:center}.wfa-form-heading button{border:0;background:none;font-size:24px}.wfa-create form{display:grid;gap:10px}.wfa-create label{font-size:12px}.wfa-create input,.wfa-create select{min-height:35px;font-size:12px}.wfa-create p{font-size:11px}.workforce-absence .dashboard-heading h1{font-size:27px!important}.workforce-absence .dashboard-heading>p{font-size:12px;color:#78877d}.workforce-absence .absence-card h3{font-size:14px}.workforce-absence .absence-card p{font-size:12px}
@media(max-width:767px){.workforce-absence{padding:10px 9px 85px!important}.wfa-calendar{padding:8px}.wfa-row{min-width:0;grid-template-columns:100px repeat(7,minmax(25px,1fr))}.wfa-person b{font-size:9px}.wfa-person{flex-wrap:wrap;gap:3px}.wfa-avatar{height:20px;width:20px;font-size:8px}.wfa-dot{width:21px;height:21px!important;min-height:21px!important;font-size:10px!important}.wfa-cell{padding:3px 0}.wfa-heading{font-size:9px}.wfa-week{gap:4px}.wfa-week label{font-size:10px}.wfa-week input{width:130px;font-size:11px}.wfa-legend{font-size:9px;gap:4px}.wfa-create{inset:0;transform:none;width:100%;max-width:none;height:100dvh;max-height:none;border-radius:0!important;padding:18px!important}.workforce-absence .dashboard-heading h1{font-size:21px!important}.workforce-absence .dashboard-card{padding:12px!important}.workforce-absence form fieldset{display:flex;flex-wrap:wrap}}
