*,:after,:before{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f3f4f6;color:#111827}.app{max-width:1100px;margin:2rem auto;padding:0 1rem 3rem}h1{font-size:1.9rem;margin-bottom:.25rem}.subtitle{margin-top:0;color:#4b5563}.card,.subtitle{margin-bottom:1.5rem}.card{background:#ffffff;padding:1.5rem;border-radius:.75rem;box-shadow:0 10px 30px rgba(15,23,42,.06)}h2{margin-top:0;margin-bottom:1rem;font-size:1.2rem}label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.25rem}input[type=date],input[type=number],input[type=time],select{width:100%;padding:.4rem .5rem;border-radius:.375rem;border:1px solid #d1d5db;font-size:.9rem}input:focus,select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 1px rgba(79,70,229,.2)}small{display:block;font-size:.75rem;color:#6b7280;margin-top:.15rem}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 1.25rem;margin-bottom:1rem}.inline-options{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.85rem}.inline-options input{margin-right:.25rem}.button-row{margin-top:.75rem;display:flex;gap:.75rem;flex-wrap:wrap}button{border:none;border-radius:999px;padding:.55rem 1.3rem;font-size:.9rem;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#6366f1);color:white;box-shadow:0 8px 20px rgba(79,70,229,.25);transition:transform .05s ease,box-shadow .05s ease}button:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(79,70,229,.35)}button:active{transform:translateY(0);box-shadow:0 6px 14px rgba(79,70,229,.25)}.pay-period-display{margin-top:.75rem;font-size:.9rem;color:#374151;padding:.6rem .7rem;border-radius:.75rem;background:#eff6ff;display:inline-block}.pay-period-display .next-info{margin-top:.2rem;font-size:.85rem;color:#1f2933}.helper-text{font-size:.85rem;color:#4b5563;margin-top:0}.schedule-container{margin-top:1rem}.placeholder{margin:0;font-size:.9rem;color:#6b7280}.week-block{border-radius:.75rem;border:1px solid #e5e7eb;margin-bottom:1rem;overflow:hidden}.week-header{background:#f9fafb;padding:.5rem .75rem;font-weight:600;font-size:.9rem;border-bottom:1px solid #e5e7eb}.week-table{width:100%;border-collapse:collapse;font-size:.85rem}.week-table td,.week-table th{padding:.4rem .5rem;border-bottom:1px solid #f3f4f6;text-align:left}.week-table th{background:#f9fafb;font-weight:600}.week-table tr:nth-child(2n) td{background:#fcfcfd}.week-summary{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;padding:.6rem .75rem .75rem;background:#f9fafb;font-size:.8rem;border-top:1px solid #e5e7eb}.week-summary div span:first-child{font-weight:600}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.summary-item{padding:.6rem .8rem;border-radius:.5rem;background:#f9fafb;border:1px solid #e5e7eb}.summary-item .label{display:block;font-size:.8rem;color:#4b5563}.summary-item .value{display:block;font-size:.95rem;font-weight:600;margin-top:.15rem}.disclaimer{margin-top:.75rem;font-size:.75rem;color:#6b7280}.hidden{display:none}.day-row .hours-worked,.day-row .ot-hours,.day-row .reg-hours{font-variant-numeric:tabular-nums}