.timecards{display:grid;gap:16px;padding:18px 0 100px;color:#231d20}.timecards-intro,.timecards-status{margin:0;color:#777078;line-height:1.4}.timecards-filters{display:grid;gap:12px}.timecards-filters label,.timecards-form label{display:grid;gap:6px;font-weight:650;color:#5b1b20}.timecards select,.timecards-form input,.timecards-form textarea{box-sizing:border-box;width:100%;min-height:46px;padding:10px 12px;border:1px solid #dfd1d3;border-radius:12px;background:#fff;color:#231d20;font:inherit}.timecards-week{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#fff;border:1px solid #eadedf;border-radius:15px;padding:6px}.timecards-week strong{text-align:center;font-size:14px}.timecards-week button,.timecards-person-head button,.timecards-entries button,.timecards-history button,.timecards-form button{min-width:44px;min-height:44px;border:1px solid #eadedf;border-radius:12px;background:#fff;color:#5b171a;font:inherit;font-weight:650}.timecards-week button{font-size:28px}.timecards-list{display:grid;gap:10px}.timecards-list button{display:flex;align-items:center;gap:10px;min-height:72px;padding:15px;border:1px solid #eadedf;border-radius:16px;background:#fff;color:inherit;text-align:left;font:inherit}.timecards-list button strong{flex:1}.timecards-list button span{color:#5b171a;font-weight:700}.timecards-list button small{display:block;color:#777078;font-weight:400}.timecards-list button b{font-size:24px;color:#5b171a}.timecards-person-head{display:flex;align-items:center;gap:12px}.timecards-person-head h3{margin:0}.timecards-person-total{display:grid;gap:3px;padding:18px;border-radius:16px;background:#f2e7e8;color:#5b171a}.timecards-person-total strong{font-size:28px}.timecards-person-total small{color:#777078}.timecards-entries{display:grid;gap:10px}.timecards-entries article{display:grid;gap:12px;padding:15px;border:1px solid #eadedf;border-radius:16px;background:#fff}.timecards-entries article>div:first-child{display:grid;gap:5px}.timecards-entries small{color:#777078}.timecards-entries article>div:last-child{display:flex;gap:8px}.timecards-add,.timecards-form button[type=submit]{min-height:48px;padding:10px 17px;border:0;border-radius:13px;background:#5b171a;color:#fff;font:inherit;font-weight:700}.timecards-history,.timecards-form{display:grid;gap:12px;padding:18px;border:1px solid #e6d8da;border-radius:18px;background:#fff}.timecards-history h3,.timecards-form h3{margin:0}.timecards-form form{display:grid;gap:14px}.timecards-form form>div{display:flex;gap:10px}.timecards-form textarea{min-height:82px}.timecards-error,.timecards-form [role=alert]{color:#aa3036}
.timecards { padding-top: 0; }
.timecards-filters { padding: 16px; border: 1px solid #e4d3d6; border-radius: 22px; background: #fff; box-shadow: 0 8px 24px rgba(76,23,27,.045); }
.timecards-filters label { gap: 7px; font-weight: 700; }
.timecards-week { background: #faf5f5; border-radius: 14px; }
.timecards-week strong { min-width: 0; color: #5b171a; font-size: .88rem; }
.timecards-list { gap: 0; overflow: hidden; border: 1px solid #e4d3d6; border-radius: 22px; background: #fff; box-shadow: 0 8px 24px rgba(76,23,27,.045); }
.timecards-list button { border: 0; border-bottom: 1px solid #f0e7e8; border-radius: 0; background: transparent; }
.timecards-list button:last-child { border-bottom: 0; }
.timecards-list button:active { background: #faf2f3; }
.timecards-list button span { white-space: nowrap; }
.timecards-list button small { white-space: normal; }
.timecards-list > p { margin: 0; padding: 18px; color: #777078; }
.timecards select:focus-visible, .timecards button:focus-visible { outline: 3px solid #aa7379; outline-offset: 2px; }

.timecards-context { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; min-width: 0; }
.timecards-context .timecards-week { flex: 1 1 220px; min-width: 0; padding: 0; border: 0; background: transparent; }
.timecards-context .timecards-week strong { font-size: .95rem; white-space: nowrap; }
.timecards-context .timecards-week button { background: #fff; }
.timecards-context select { width: auto; max-width: 100%; min-height: 44px; font-size: .88rem; font-weight: 700; color: #5b171a; }
.timecards-venue-name { padding: 7px 11px; border-radius: 999px; background: #f2e7e8; color: #5b171a; font-size: .83rem; font-weight: 700; }
.timecards-person-view { gap: 18px; }
.timecards-person-head { min-width: 0; }
.timecards-person-head button { flex: 0 0 44px; font-size: 28px; }
.timecards-person-head > div { min-width: 0; }
.timecards-person-head small { display: block; color: #777078; font-size: .82rem; }
.timecards-person-head h2 { margin: 2px 0 0; overflow-wrap: anywhere; color: #5b171a; font-size: 1.32rem; line-height: 1.2; }
.timecards-section { display: grid; gap: 10px; min-width: 0; }
.timecards-section h3 { margin: 0; color: #5b171a; font-size: 1.04rem; }
.timecards-section-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.timecards-section-head .timecards-add { min-height: 44px; padding: 8px 12px; font-size: .86rem; }
.timecards-schedule { display: grid; gap: 8px; }
.timecards-schedule article { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-width: 0; padding: 14px; border: 1px solid #eadedf; border-radius: 16px; background: #fff; }
.timecards-schedule article > div { display: grid; gap: 3px; min-width: 0; }
.timecards-schedule strong { color: #5b171a; }
.timecards-schedule span { font-weight: 650; overflow-wrap: anywhere; }
.timecards-schedule small { color: #777078; }
.timecards-schedule button { flex: 0 0 auto; min-height: 44px; padding: 8px 12px; border: 1px solid #dfd1d3; border-radius: 12px; background: #fff; color: #5b171a; font: inherit; font-size: .86rem; font-weight: 700; }
.timecards-entries article > div:first-child strong { color: #5b171a; }
.timecards-entries article > div:first-child span { font-size: .94rem; }
.timecards-entries .timecards-status { padding: 15px; border: 1px solid #eadedf; border-radius: 16px; background: #fff; }
.timecards-form p { margin: 0; color: #777078; line-height: 1.45; }
.timecards-form form > div { flex-wrap: wrap; }
.timecards-form button[type=submit] { flex: 1 1 150px; }
@media (max-width: 360px) { .timecards-schedule article { align-items: stretch; flex-direction: column; } .timecards-context .timecards-week strong { font-size: .82rem; } }
.timecards-filters { gap: 12px; background: linear-gradient(145deg, #f4e9ea, #fff); }
.timecards-filters label { color: #5b171a; }
.timecards-selected-venue { display: block; min-height: 44px; box-sizing: border-box; padding: 10px 12px; border: 1px solid #e4d3d6; border-radius: 12px; background: #fff; color: #231d20; }
.timecards-week-label { color: #5b171a; font-weight: 700; }
.timecards-filters .timecards-week { padding: 6px; background: #fff; }
.timecards-filters .timecards-week strong { font-size: .94rem; }
.timecards-person-totals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.timecards-person-totals > div { display: grid; gap: 4px; min-width: 0; padding: 16px; border: 1px solid #e5d5d8; border-radius: 17px; background: #fff; }
.timecards-person-totals strong { color: #5b171a; font-size: 1.36rem; }
.timecards-person-totals small { color: #777078; }
.timecards-week-table { overflow: hidden; border: 1px solid #e4d3d6; border-radius: 20px; background: #fff; }
.timecards-table-head,.timecards-week-table > button { display: grid; grid-template-columns: 72px minmax(0, 1fr) minmax(0, 1fr); gap: 8px; align-items: center; }
.timecards-table-head { min-height: 42px; padding: 7px 11px; background: #eee1e3; color: #5b171a; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.timecards-week-table > button { width: 100%; min-height: 68px; padding: 10px 11px; border: 0; border-top: 1px solid #eadedf; background: #fff; color: #231d20; font: inherit; font-size: .86rem; text-align: left; }
.timecards-week-table > button:active { background: #faf2f3; }
.timecards-week-table > button > span { min-width: 0; overflow-wrap: anywhere; }
.timecards-week-table > button strong,.timecards-week-table > button small { display: block; }
.timecards-week-table > button strong { color: #5b171a; }
.timecards-week-table > button small { color: #777078; font-size: .76rem; }
.timecards-week-table > button em { color: #8b4b50; font-style: normal; font-weight: 700; }
.timecards-day-detail { display: grid; gap: 12px; padding: 16px; border: 1px solid #e4d3d6; border-radius: 20px; background: #fff; }
.timecards-day-detail h3 { margin: 0; color: #5b171a; }
.timecards-day-scheduled,.timecards-day-actual { display: grid; gap: 6px; padding-top: 10px; border-top: 1px solid #eadedf; }
.timecards-day-scheduled > strong,.timecards-day-actual > strong { color: #5b171a; }
.timecards-day-detail p { margin: 0; color: #777078; }
.timecards-day-actual article { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 0; border-top: 1px solid #f1e8e9; }
.timecards-day-actual article span { flex: 1 1 100%; }
.timecards-day-actual article button { min-height: 44px; padding: 8px 12px; border: 1px solid #e4d3d6; border-radius: 12px; background: #fff; color: #5b171a; font: inherit; font-weight: 700; }
.timecards-day-detail > .timecards-add { justify-self: start; }
@media (max-width: 360px) { .timecards-table-head,.timecards-week-table > button { grid-template-columns: 60px minmax(0, 1fr) minmax(0, 1fr); gap: 6px; } .timecards-week-table > button { font-size: .79rem; } .timecards-filters .timecards-week strong { font-size: .82rem; } }
