:root{--yellow:#f6f600;--yellow-dark:#dbdb00;--charcoal:#333632;--charcoal-soft:#4a4e49;--leaf:#008037;--leaf-soft:#e3f2e8;--bg:#fafaf8;--card-border:#e7e5de;--ink:#232521;--ink-muted:#6b6d68;--error:#b3261e;--radius:16px;--radius-lg:24px;--font-display:"Jost", -apple-system, sans-serif;--font-body:"Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}button{font-family:var(--font-body);cursor:pointer;border-radius:var(--radius);border:none;padding:14px;font-size:1rem;font-weight:600;transition:transform .12s,filter .12s}button:active{transform:scale(.98)}input,textarea,select{font-family:var(--font-body);border:1.5px solid var(--card-border);width:100%;color:var(--ink);background:#fff;border-radius:12px;margin:6px 0 14px;padding:12px 14px;font-size:1rem}input:focus,textarea:focus,select:focus{outline:2px solid var(--yellow);outline-offset:1px;border-color:var(--yellow)}.app-loading{height:100vh;font-family:var(--font-display);color:var(--charcoal);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.brand-lockup{width:180px;margin:0 auto 20px;display:block}.employee-logo{width:100%;max-width:280px;margin:0 auto 20px;display:block}.login-screen{text-align:center;border-radius:var(--radius-lg);background:#fff;max-width:360px;margin:12vh auto;padding:32px 28px;box-shadow:0 12px 40px #1f47431f}.login-screen p{color:var(--ink-muted);margin-bottom:20px}.login-screen button[type=submit]{background:var(--charcoal);color:#fff;width:100%;padding:14px}.login-screen button[type=submit]:hover{filter:brightness(1.08)}.login-error{color:var(--error);font-size:.9rem}.employee-home{text-align:center;max-width:420px;margin:0 auto;padding:28px 20px}.employee-header{color:var(--ink-muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.9rem;display:flex}.logout-link{color:var(--ink-muted);background:0 0;padding:4px;font-weight:400;text-decoration:underline}.employee-date{text-transform:capitalize;color:var(--ink-muted);margin-bottom:20px}.employee-status{font-family:var(--font-display);border-radius:12px;margin-bottom:24px;padding:10px;font-size:1.15rem;font-weight:600}.status-working{color:var(--leaf);background:var(--leaf-soft)}.status-out{color:var(--charcoal);background:#f1f0eb}.clock-button-wrapper{margin-bottom:20px}.clock-button{width:100%;height:96px;font-size:1.7rem;font-family:var(--font-display);color:#fff;font-weight:600;box-shadow:0 8px 24px #00000026}.clock-button--in{background:var(--yellow);color:var(--ink)}.clock-button--in:hover{background:var(--yellow-dark)}.clock-button--out{background:var(--charcoal)}.clock-button--out:hover{background:var(--charcoal-soft)}.clock-feedback{white-space:pre-line;margin-top:12px;font-weight:500}.clock-feedback--ok{color:var(--leaf)}.clock-feedback--error{color:var(--error)}.new-request-button{background:var(--charcoal);color:#fff;width:100%;height:58px;margin-bottom:24px;font-weight:600}.new-request-button:hover{background:var(--charcoal)}.secondary-links{justify-content:space-around;display:flex}.secondary-links button{color:var(--charcoal);background:0 0;padding:4px;font-size:.9rem;font-weight:600}.sub-screen{max-width:420px;margin:0 auto;padding:20px}.sub-screen-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.sub-screen-header button{color:var(--charcoal);background:0 0;padding:4px}.modal-overlay{z-index:50;background:#26221b8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.request-modal,.employee-form-modal{border-radius:var(--radius-lg);background:#fff;width:100%;max-width:380px;max-height:90vh;padding:26px;overflow-y:auto}.request-type-button{background:var(--bg);text-align:left;border-left:4px solid var(--yellow);width:100%;margin-bottom:10px}.request-type-button:hover{background:var(--card-border)}.request-cancel{width:100%;color:var(--ink-muted);background:0 0}.request-submit{background:var(--charcoal);color:#fff;width:100%}.request-error,.form-error{color:var(--error)}table{border-collapse:collapse;width:100%;margin-top:12px}th{text-align:left;border-bottom:2px solid var(--card-border);color:var(--charcoal);font-family:var(--font-display);padding:10px 8px;font-weight:600}td{text-align:left;border-bottom:1px solid var(--card-border);padding:10px 8px}.row-anomaly{background:#fff9d9}.admin-home{max-width:960px;margin:0 auto;padding:0 0 40px}.admin-header{background:var(--charcoal);color:#fff;border-radius:0 0 var(--radius-lg) var(--radius-lg);justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 28px;display:flex}.admin-header h1{color:#fff;align-items:center;gap:10px;margin:0;font-size:1.4rem;display:flex}.admin-header .logout-link{color:#e8e2d2}.admin-tabs{gap:8px;margin-bottom:24px;padding:0 28px;display:flex}.admin-tabs button{background:var(--card-border);color:var(--ink)}.admin-tabs button.active{background:var(--yellow);color:var(--ink)}.admin-dashboard{padding:0 28px}.admin-dashboard section{margin-bottom:32px}.admin-dashboard h2{color:var(--charcoal);font-size:1.15rem}.admin-employees-panel,.reports-panel{padding:0 28px}.working-badge{background:var(--leaf-soft);color:var(--leaf);border-radius:20px;margin:4px;padding:8px 14px;font-weight:600;display:inline-block}.request-card,.incident-card,.my-request-card{border:1px solid var(--card-border);background:#fff;border-radius:12px;margin-bottom:10px;padding:16px;box-shadow:0 2px 8px #1f47430d}.request-actions{gap:8px;margin-top:10px;display:flex}.request-actions button:first-child{background:var(--leaf);color:#fff}.request-actions button:last-child{background:var(--charcoal);color:#fff}.panel-header{margin-bottom:16px;padding:0 28px}.panel-header button{background:var(--charcoal);color:#fff}.simple-calendar,.rich-calendar{padding:0 28px}.calendar-nav{text-transform:capitalize;font-family:var(--font-display);color:var(--charcoal);justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.calendar-nav button{background:var(--card-border);padding:8px 14px}.calendar-summary{color:var(--ink-muted);justify-content:center;gap:20px;margin-bottom:14px;font-size:.85rem;display:flex}.calendar-summary strong{color:var(--charcoal);font-size:1rem}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-weekday{text-align:center;color:var(--ink-muted);padding-bottom:4px;font-size:.8rem;font-weight:600}.calendar-cell{aspect-ratio:1;border:1px solid var(--card-border);background:#fff;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:center;gap:1px;padding:4px;font-size:.75rem;display:flex;overflow:hidden}.calendar-cell.empty{background:0 0;border:none}.calendar-cell.interactive{cursor:pointer;font-family:var(--font-body)}.calendar-cell.interactive:hover{border-color:var(--charcoal)}.calendar-cell.is-today{border:2px solid var(--yellow-dark)}.calendar-cell.is-selected{background:var(--charcoal);color:#fff}.calendar-cell.is-selected .cell-hours,.calendar-cell.is-selected .cell-count{color:#fff}.calendar-cell.is-holiday{background:#fff9e6}.cell-day{font-size:.85rem;font-weight:600}.cell-hours{color:var(--leaf);font-size:.7rem;font-weight:600}.cell-count{color:var(--ink-muted);font-size:.62rem}.cell-dots{flex-wrap:wrap;justify-content:center;gap:2px;margin-top:auto;display:flex}.calendar-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.day-detail{border:1px solid var(--card-border);background:#fff;border-radius:14px;margin-top:16px;padding:16px}.day-detail h4{font-family:var(--font-display);text-transform:capitalize;color:var(--charcoal);margin:0 0 10px}.day-holiday{background:#fff9e6;border-radius:8px;margin:0 0 10px;padding:6px 10px;font-size:.85rem}.day-section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin:12px 0 4px;font-size:.75rem}.day-list{margin:0;padding:0;font-size:.88rem;list-style:none}.day-list li{border-bottom:1px solid var(--bg);align-items:center;gap:6px;padding:4px 0;display:flex}.day-hours{color:var(--ink-muted)}.team-view-switch{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.team-view-switch button[aria-pressed=true]{color:#fff;background:#008037;border-color:#008037;font-weight:700}.day-list li.calendar-shift-card{flex-direction:column;align-items:stretch;gap:8px;padding:14px 0;display:flex}.calendar-shift-row{background:var(--bg);border-radius:8px;padding:8px 12px;line-height:1.6;display:block}.calendar-shift-total{border-top:1px solid var(--bg);padding:10px 12px 0;font-weight:700;display:block}.day-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.day-empty{color:var(--ink-muted);font-size:.88rem}.calendar-legend{color:var(--ink-muted);flex-wrap:wrap;gap:10px;margin-top:16px;font-size:.75rem;display:flex}.legend-item{align-items:center;gap:4px;display:flex}.reports-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.reports-filters button{background:var(--charcoal);color:#fff}.reports-export{gap:10px;margin-top:16px;display:flex}.reports-export button{background:var(--yellow);color:var(--ink)}.fix-link{color:var(--ink-muted);background:0 0;margin-left:4px;padding:0;font-size:.75rem;font-weight:400;text-decoration:underline}.general-correction-button{background:var(--bg);border:1.5px dashed var(--card-border);width:100%;color:var(--ink-muted);margin-top:16px;font-size:.9rem;font-weight:500}.general-correction-button:hover{background:var(--card-border)}.counters-row{justify-content:center;gap:28px;margin-bottom:22px;display:flex}.counter-ring-wrapper{text-align:center;width:120px}.counter-ring{width:100px;height:100px}.counter-label{font-family:var(--font-display);color:var(--ink);margin:4px 0 0;font-size:.95rem}.counter-sublabel{color:var(--ink-muted);margin:0;font-size:.72rem}.counters-cell{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.counter-chip{white-space:nowrap;border-radius:20px;padding:3px 8px;font-size:.78rem}.counter-chip--leaf{background:var(--leaf-soft);color:var(--leaf)}.counter-chip--yellow{color:#7a7a00;background:#fffbd6}.counter-edit-link{color:var(--ink-muted);background:0 0;padding:0;font-size:.72rem;font-weight:400;text-decoration:underline}.employee-name-link{color:var(--charcoal);text-underline-offset:3px;text-align:left;background:0 0;padding:0;font-weight:600;text-decoration:underline}.employee-name-link:hover{color:var(--leaf)}.employee-detail{padding:0 28px}.back-link{color:var(--ink-muted);background:0 0;margin-bottom:12px;padding:4px 0}.detail-header{margin-bottom:20px}.detail-header h2{color:var(--charcoal);margin:0 0 4px;font-size:1.5rem}.detail-sub{color:var(--ink-muted);margin:0;font-size:.9rem}.detail-stats{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.stat-card{border:1px solid var(--card-border);background:#fff;border-radius:14px;flex-direction:column;flex:1;gap:2px;min-width:150px;padding:16px;display:flex}.stat-value{font-family:var(--font-display);color:var(--charcoal);font-size:1.7rem;font-weight:600}.stat-label{color:var(--ink);font-size:.85rem}.stat-hint{color:var(--ink-muted);font-size:.75rem}.detail-tabs{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.detail-tabs button{background:var(--card-border);padding:8px 14px;font-size:.9rem}.detail-tabs button.active{background:var(--charcoal);color:#fff}.employee-detail h3{color:var(--charcoal);margin:24px 0 10px;font-size:1.05rem}.month-bars{flex-direction:column;gap:8px;display:flex}.month-bar-row{align-items:center;gap:10px;font-size:.85rem;display:flex}.month-bar-label{text-transform:capitalize;width:120px;color:var(--ink-muted);flex-shrink:0}.month-bar-track{background:#f0eee7;border-radius:10px;flex:1;height:20px;overflow:hidden}.month-bar-fill{background:var(--yellow);border-radius:10px;height:100%}.month-bar-value{text-align:right;width:120px;color:var(--ink-muted);flex-shrink:0}.detail-data-table td:first-child{color:var(--ink-muted);width:200px}.detail-data-header{align-items:center;gap:12px;display:flex}.edit-ficha-button{background:var(--card-border);padding:6px 12px;font-size:.85rem}.edit-ficha-form{max-width:420px}.edit-ficha-form label{color:var(--ink-muted);margin-bottom:2px;font-size:.85rem;display:block}.edit-ficha-actions{gap:8px;margin-top:8px;display:flex}.edit-ficha-actions button:first-child{background:var(--charcoal);color:#fff}.add-absence-button{background:var(--charcoal);color:#fff;margin-bottom:12px}.delete-absence-link{color:var(--ink-muted);background:0 0;padding:0;font-size:.75rem;font-weight:400;text-decoration:underline}.modal-sub{color:var(--ink-muted);margin:-8px 0 16px;font-size:.9rem}.checkbox-label{color:var(--ink-muted);align-items:center;gap:8px;margin-bottom:12px;font-size:.85rem;display:flex}.checkbox-label input{width:auto;margin:0}.saved-note{color:var(--leaf);margin:0 0 10px;font-size:.85rem}.convenio-box{border:1px solid var(--card-border);background:#fff;border-radius:14px;margin-bottom:24px;padding:16px}.convenio-title{font-family:var(--font-display);color:var(--charcoal);margin:0 0 12px;font-size:.95rem;font-weight:600}.convenio-items{flex-wrap:wrap;gap:28px;display:flex}.convenio-item{flex-direction:column;gap:2px;display:flex}.convenio-label{color:var(--ink-muted);font-size:.78rem}.convenio-value{font-family:var(--font-display);color:var(--charcoal);font-size:1.25rem;font-weight:600}.convenio-hint{color:var(--ink-muted);font-size:.72rem}.convenio-warning{color:#b3261e;font-size:.72rem}.convenio-note{color:var(--ink-muted);border-top:1px solid var(--bg);margin:14px 0 0;padding-top:10px;font-size:.7rem;line-height:1.5}.time-fields{background:var(--bg);border-radius:10px;margin-bottom:14px;padding:12px}.time-fields-label{color:var(--ink-muted);margin:0 0 8px;font-size:.78rem;line-height:1.4}.time-fields-row{gap:10px;display:flex}.time-fields-row label{flex:1;margin:0}.time-fields-row input{margin-bottom:0}.time-fields-total{color:var(--leaf);margin:8px 0 0;font-size:.85rem;font-weight:600}.request-hours{color:var(--ink-muted)}.validation-screen{background:var(--bg);justify-content:center;align-items:flex-start;min-height:100vh;padding:20px 16px;display:flex}.validation-card{border-radius:var(--radius-lg);background:#fff;width:100%;max-width:480px;padding:28px 24px;box-shadow:0 8px 32px #00000014}.validation-logo{width:160px;margin:0 auto 20px;display:block}.validation-card h1{text-align:center;color:var(--charcoal);margin:0 0 4px;font-size:1.5rem}.validation-month{text-align:center;text-transform:capitalize;font-family:var(--font-display);color:var(--leaf);margin:0 0 12px;font-size:1.1rem;font-weight:600}.validation-intro{text-align:center;color:var(--ink-muted);margin:0 0 20px;font-size:.88rem;line-height:1.5}.validation-totals{gap:16px;margin-bottom:24px;display:flex}.validation-totals>div{background:var(--bg);border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:14px;display:flex}.validation-big{font-family:var(--font-display);color:var(--charcoal);font-size:1.8rem;font-weight:600}.validation-small{color:var(--ink-muted);text-align:center;font-size:.75rem}.validation-card h3{color:var(--charcoal);margin:20px 0 8px;font-size:.95rem}.validation-list{margin:0;padding:0;font-size:.85rem;list-style:none}.validation-list li{border-bottom:1px solid var(--bg);padding:6px 0}.validation-empty{color:var(--ink-muted);font-size:.85rem}.validation-table{font-size:.82rem}.validation-table th{font-size:.75rem}.validation-error{color:var(--error);font-size:.85rem}.validation-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.validation-ok{background:var(--leaf);color:#fff;width:100%;height:56px;font-size:1.05rem;font-weight:600}.validation-problem{background:var(--bg);width:100%;color:var(--charcoal);border:1.5px solid var(--card-border)}.validation-note{color:var(--ink-muted);text-align:center;margin:16px 0 0;font-size:.72rem;line-height:1.5}.pending-validation-banner{color:#7a5c00;border:1.5px solid var(--yellow);background:#fff9d9;width:100%;margin-bottom:14px;padding:10px;font-size:.85rem;font-weight:500}.validation-status-row{border:1px solid var(--card-border);background:#fff;border-radius:10px;flex-direction:column;gap:2px;margin-bottom:8px;padding:12px 14px;display:flex}.validation-status-name{color:var(--charcoal);font-weight:600}.validation-status-count{color:#b3261e;font-size:.85rem}.validation-status-detail{color:var(--ink-muted);font-size:.75rem}.documents-list{flex-direction:column;gap:10px;display:flex}.document-card{text-align:left;border:1px solid var(--card-border);background:#fff;border-radius:14px;align-items:flex-start;gap:14px;width:100%;padding:16px;font-weight:400;display:flex}.document-card:hover{border-color:var(--charcoal)}.document-icon{flex-shrink:0;font-size:1.6rem;line-height:1}.document-info{flex-direction:column;gap:3px;display:flex}.document-title{font-family:var(--font-display);color:var(--charcoal);font-size:1rem;font-weight:600}.document-desc{color:var(--ink-muted);font-size:.83rem;line-height:1.4}.document-meta{color:var(--ink-muted);font-size:.72rem}.document-desc-admin{color:var(--ink-muted);margin-top:2px;font-size:.78rem}.documents-admin{padding:0 28px}.documents-subtabs{gap:6px;margin-bottom:16px;display:flex}.documents-subtabs button{background:var(--card-border);padding:8px 14px;font-size:.85rem}.documents-subtabs button.active{background:var(--charcoal);color:#fff}.payslips-admin{padding:0 28px}.payslips-upload-box{border:1px solid var(--card-border);background:#fff;border-radius:14px;max-width:420px;margin-bottom:16px;padding:16px}.payslips-summary{color:var(--ink-muted);margin-bottom:12px;font-size:.88rem}.payslips-warning{color:#b3261e}.payslips-table input[type=number]{width:80px;margin:0}@media (prefers-reduced-motion:reduce){button{transition:none}}.admin-redesign{max-width:1240px;padding:24px 32px 32px}.admin-redesign .admin-header{border-radius:20px;margin-bottom:18px;padding:22px 28px}.admin-redesign .admin-tabs{border-bottom:1px solid var(--card-border);flex-wrap:wrap;gap:6px;margin:0 0 34px;padding:0 0 16px}.admin-redesign .admin-tabs button{color:#5b6058;background:0 0;align-items:center;gap:10px;padding:12px 20px;font-size:.9rem;display:flex}.admin-redesign .admin-tabs button.active{background:var(--yellow);color:var(--ink)}.admin-redesign .admin-tabs button:hover{background:#efefe5}.admin-redesign .admin-tabs button.active:hover{background:var(--yellow-dark)}.admin-redesign .admin-dashboard{padding:0}.admin-welcome{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.admin-redesign .admin-eyebrow{letter-spacing:.13em;color:#70756a;margin:0 0 8px;font-size:.65rem;font-weight:700}.admin-redesign .admin-welcome h2{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.15}.admin-welcome h2 span{color:var(--leaf)}.admin-welcome p:last-child{color:var(--ink-muted);margin-bottom:0;font-size:.9rem}.admin-date{text-transform:capitalize;text-align:right;color:#5b6058;font-size:.82rem}.admin-date button{color:var(--leaf);background:0 0;margin:10px 0 0 auto;padding:8px 0;font-size:.8rem;display:block}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.admin-metric{border:1px solid var(--card-border);color:var(--ink);background:#fff;border-radius:18px;padding:20px;text-decoration:none;transition:box-shadow .15s}.admin-metric:hover{box-shadow:0 6px 20px #33363212}.metric-label,.metric-hint{justify-content:space-between;align-items:center;gap:8px;display:flex}.metric-label{font-size:.85rem;font-weight:600}.metric-label>span{color:var(--ink-muted);font-size:1.2rem}.admin-metric strong{letter-spacing:-.05em;margin:14px 0;font-size:2.8rem;font-weight:600;line-height:1;display:block}.metric-hint{color:#676d60;font-size:.72rem}.metric-working{background:#e7f2e7;border-color:#d4e6d4}.metric-working strong,.metric-working .metric-label>span{color:#176537}.metric-requests{background:#f7f7cf;border-color:#e8e8ba}.admin-quick{flex-wrap:wrap;align-items:center;gap:10px;padding:16px 0 26px;display:flex}.admin-quick>span{color:var(--ink-muted);margin-right:auto;font-size:.78rem}.admin-quick button{border:1px solid var(--card-border);color:var(--charcoal);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.8rem;display:flex}.admin-panel-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.admin-redesign .admin-panel{border:1px solid var(--card-border);background:#fff;border-radius:20px;min-width:0;margin:0;padding:24px;scroll-margin-top:20px}.admin-section-heading{border-bottom:1px solid #efefe9;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:20px;display:flex}.admin-redesign .admin-section-heading h2{margin:0;font-size:1.13rem}.admin-live{color:#176537;white-space:nowrap;background:#e7f2e7;border-radius:20px;padding:6px 9px;font-size:.65rem}.admin-panel-symbol{color:#8a8e82;font-size:1.5rem}.admin-panel>p{color:#646b5f;background:#f7f8f3;border-radius:12px;padding:20px 12px;font-size:.88rem;line-height:1.6}.admin-redesign .admin-load-error{color:var(--error);background:#fff0ec}.admin-person{border-bottom:1px solid #efefe9;align-items:center;gap:12px;padding:14px 0;display:flex}.admin-person:last-child{border:0}.admin-avatar{color:#526346;background:#f0f2e8;border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:.85rem;font-weight:600;display:grid}.admin-person>div{flex-direction:column;gap:5px;min-width:0;display:flex}.admin-person strong{overflow-wrap:anywhere;font-size:.9rem}.admin-person>div>span{color:var(--ink-muted);font-size:.76rem}.admin-person-status{color:var(--leaf);white-space:nowrap;margin-left:auto;font-size:.66rem}.admin-redesign .request-card,.admin-redesign .incident-card{box-shadow:none;background:#fafbf7;border-color:#eceee4;font-size:.85rem;line-height:1.5}.admin-redesign .request-actions button{border-radius:9px;padding:10px 16px;font-size:.78rem}.admin-redesign .validation-status-row{background:#fafbf7;border-color:#eceee4;gap:7px;padding:16px}.admin-redesign .validation-status-count{color:#88601c}.admin-footer{color:#7b8074;letter-spacing:.03em;justify-content:space-between;gap:12px;padding-top:30px;font-size:.68rem;display:flex}.admin-redesign :is(button,a):focus-visible{outline-offset:4px;outline:3px solid #008037}.admin-redesign .rich-calendar{border:1px solid var(--card-border);background:#fff;border-radius:20px;padding:24px}.admin-redesign .calendar-cell{aspect-ratio:auto;min-height:80px;padding:8px}.admin-redesign .calendar-legend{gap:16px;padding:16px 0;font-size:.82rem}@media (width<=900px){.admin-redesign{padding:16px}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-quick>span{width:100%}.admin-panel-grid{grid-template-columns:1fr}}@media (width<=520px){.admin-redesign{padding:10px}.admin-redesign .admin-header{padding:18px 14px}.admin-redesign .admin-header h1{font-size:1.1rem}.admin-redesign .logout-link{font-size:.7rem}.admin-redesign .admin-tabs{grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:24px;display:grid}.admin-redesign .admin-tabs button{justify-content:center;gap:6px;padding:10px 8px;font-size:.76rem}.admin-welcome{display:block}.admin-date{text-align:left;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:.7rem;display:flex}.admin-date button{margin:0;font-size:.7rem}.admin-metric{padding:15px}.metric-label{font-size:.75rem}.metric-hint{font-size:.66rem}.admin-quick{grid-template-columns:1fr 1fr;display:grid}.admin-quick>span{grid-column:1/-1}.admin-quick button{justify-content:space-between;font-size:.7rem}.admin-redesign .admin-panel{padding:18px}.admin-redesign .admin-section-heading h2{font-size:1rem}.admin-person-status{font-size:.58rem}.admin-footer span{display:none}.admin-redesign .rich-calendar{padding:12px}.admin-redesign .calendar-cell{min-height:64px;padding:4px}}.work-schedules{border:1px solid var(--card-border);background:#fff;border-radius:16px;margin:22px 0;padding:20px}.work-schedules h3{margin:0 0 12px}.work-schedule-card{background:#f5f8ef;border-radius:12px;margin:12px 0;padding:16px}.work-schedule-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.work-schedule-heading span{background:var(--leaf-soft);color:var(--leaf);border-radius:20px;padding:5px 10px;font-size:.75rem}.work-schedule-times{white-space:pre-line;line-height:1.9}.work-schedule-source{color:var(--ink-muted);font-size:.8rem;line-height:1.5}
