.hr-dashboard { display: grid; gap: 1.5rem; padding-bottom: 3rem; }
.hr-hero { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2rem; border: 1px solid rgba(69, 48, 38, .1); border-radius: 28px; background: linear-gradient(135deg, #fff8ef 0%, #fff 58%, #eef9f4 100%); box-shadow: 0 18px 45px rgba(60, 42, 30, .08); }
.hr-hero h1 { margin: .25rem 0 .55rem; color: #2e2521; font: 800 clamp(2rem, 4vw, 3.25rem)/1.02 Manrope, sans-serif; letter-spacing: -.045em; }
.hr-hero p { max-width: 760px; margin: 0; color: #71635b; font-size: 1.02rem; }
.hr-hero-actions { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; flex-wrap: wrap; }
.hr-action-count { min-width: 128px; padding: .85rem 1rem; border-radius: 18px; color: #fff; background: #492f2b; text-align: center; }
.hr-action-count strong, .hr-action-count small { display: block; }
.hr-action-count strong { font: 800 1.65rem/1 Manrope, sans-serif; }
.hr-action-count small { margin-top: .3rem; color: #f6ddd4; font-size: .73rem; }

.hr-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.hr-kpi { position: relative; overflow: hidden; display: grid; gap: .35rem; min-height: 150px; padding: 1.25rem; border: 1px solid rgba(69, 48, 38, .08); border-radius: 22px; color: #312925; text-decoration: none; box-shadow: 0 12px 28px rgba(60, 42, 30, .06); }
.hr-kpi::after { content: ""; position: absolute; right: -20px; bottom: -28px; width: 95px; height: 95px; border-radius: 50%; background: rgba(255, 255, 255, .5); }
.hr-kpi span { font-weight: 700; }
.hr-kpi strong { align-self: end; font: 800 2.45rem/1 Manrope, sans-serif; }
.hr-kpi small { color: #6d5e57; }
.hr-kpi.coral { background: #fff0eb; }.hr-kpi.amber { background: #fff7da; }.hr-kpi.blue { background: #edf5ff; }.hr-kpi.plum { background: #f5edfb; }
.hr-kpi:hover { transform: translateY(-2px); color: #312925; box-shadow: 0 18px 35px rgba(60, 42, 30, .1); }

.hr-calendar-grid, .hr-special-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.hr-panel { min-width: 0; padding: 1.4rem; border: 1px solid rgba(69, 48, 38, .09); border-radius: 24px; background: rgba(255, 255, 255, .94); box-shadow: 0 14px 35px rgba(60, 42, 30, .06); }
.hr-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.15rem; }
.hr-panel-heading h2 { margin: .15rem 0 0; color: #352a25; font: 750 1.35rem/1.2 Manrope, sans-serif; }
.hr-panel-heading p { max-width: 760px; margin: .35rem 0 0; color: #776961; font-size: .9rem; }
.hr-panel-heading > a { flex: 0 0 auto; color: #8c4c3c; font-size: .85rem; font-weight: 700; text-decoration: none; }
.hr-calendar-list { display: grid; gap: .75rem; }
.hr-calendar-list article { display: flex; align-items: center; gap: .85rem; padding: .85rem; border-radius: 16px; background: #fbf8f5; }
.hr-calendar-list time { display: grid; place-items: center; flex: 0 0 52px; min-height: 54px; border-radius: 14px; color: #8f4d3d; background: #fff0ea; }
.hr-calendar-list.festival time { color: #75508b; background: #f1e9f8; }
.hr-calendar-list time strong { font: 800 1.2rem/1 Manrope, sans-serif; }.hr-calendar-list time span { font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.hr-calendar-list h3 { margin: 0 0 .15rem; color: #3d332e; font-size: .94rem; }.hr-calendar-list p { margin: 0; color: #81736c; font-size: .78rem; }

.hr-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.hr-review-card, .hr-leave-card { padding: 1.1rem; border: 1px solid #eee3dd; border-radius: 18px; background: #fffdfa; }
.hr-card-top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; color: #8b7d75; font-size: .75rem; }
.hr-card-top b { padding: .28rem .55rem; border-radius: 999px; color: #7b4739; background: #fcece7; font-size: .68rem; }
.hr-review-card h3, .hr-leave-card h3 { margin: .7rem 0 .25rem; color: #342b27; font-size: 1.05rem; }.hr-review-card > p, .hr-leave-card > p { margin: 0 0 .75rem; color: #796b64; font-size: .84rem; }
.hr-reason { display: grid; gap: .18rem; margin: .75rem 0; padding: .7rem; border-radius: 12px; background: #f8f4f1; color: #625650; font-size: .8rem; }.hr-reason small { color: #9a877d; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.hr-decision-form { display: grid; gap: .55rem; margin-top: .85rem; padding-top: .85rem; border-top: 1px solid #eee4de; }.hr-decision-form label { color: #62544d; font-size: .78rem; font-weight: 700; }.hr-decision-form textarea { min-height: 72px; padding: .65rem; border: 1px solid #dcccc4; border-radius: 12px; resize: vertical; }.hr-decision-form > div { display: flex; flex-wrap: wrap; gap: .5rem; }
.hr-view-only { margin-top: .8rem !important; padding-top: .7rem; border-top: 1px solid #eee4de; color: #8c7e77 !important; font-size: .76rem !important; }

.hr-two-column-queue { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }.hr-subheading { margin: 0 0 .65rem; color: #675750; font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }.hr-leave-list { display: grid; gap: .8rem; }
.hr-leave-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: .7rem 0; }.hr-leave-card dl div { padding: .55rem; border-radius: 11px; background: #f9f5f2; }.hr-leave-card dt { color: #97867c; font-size: .67rem; }.hr-leave-card dd { margin: .1rem 0 0; color: #493c36; font-weight: 800; }
.hr-policy-reason { padding: .6rem .7rem; border-left: 3px solid #dfaa42; border-radius: 8px; color: #73591f; background: #fff8df; font-size: .76rem; font-weight: 650; }.hr-policy-reason.critical { border-color: #c96457; color: #813c34; background: #fff0ed; }
.hr-transfer-note { margin-top: .7rem !important; padding: .65rem; border-radius: 11px; color: #7b4038 !important; background: #fff1ee; }
.hr-empty { padding: 1rem; border: 1px dashed #ddcec6; border-radius: 14px; color: #897a72; background: #fdfaf8; font-size: .84rem; }.hr-empty.wide { grid-column: 1 / -1; }

.hr-roadmap { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.5rem; border-radius: 22px; color: #f7efea; background: linear-gradient(135deg, #3f302b, #5d443b); }.hr-roadmap span { color: #e6b9a9; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.hr-roadmap h2 { margin: .25rem 0; font: 750 1.25rem/1.2 Manrope, sans-serif; }.hr-roadmap p { max-width: 720px; margin: 0; color: #d9cbc5; font-size: .85rem; }.hr-roadmap ul { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; margin: 0; padding: 0; list-style: none; }.hr-roadmap li { padding: .48rem .7rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font-size: .75rem; }

@media (max-width: 1050px) { .hr-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.hr-hero { align-items: flex-start; flex-direction: column; }.hr-hero-actions { justify-content: flex-start; }.hr-card-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .hr-dashboard { gap: 1rem; }.hr-hero, .hr-panel { padding: 1.05rem; border-radius: 19px; }.hr-kpi-grid, .hr-calendar-grid, .hr-special-grid, .hr-two-column-queue { grid-template-columns: 1fr; }.hr-kpi { min-height: 125px; }.hr-panel-heading, .hr-roadmap { align-items: flex-start; flex-direction: column; }.hr-roadmap ul { justify-content: flex-start; }.hr-decision-form > div .btn { flex: 1 1 auto; }.hr-leave-card dl { grid-template-columns: 1fr; } }
