.hir-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid #ddd6cb;background:#fff}.hir-card span,.hir-dialog-head>span,.hir-success>span{color:#bd8b3f;font-size:10px;font-weight:800;letter-spacing:.14em}.hir-card h3{margin:6px 0 5px;font-size:19px}.hir-card p{max-width:760px;margin:0;color:#746e67;font-size:12px;line-height:1.65}.hir-card button,.hir-apply,.hir-success button{min-height:44px;padding:10px 18px;border:1px solid #c39248;background:#c39248;color:#fff;font-weight:800;cursor:pointer}.hir-card button:disabled,.hir-apply:disabled{cursor:not-allowed;opacity:.55}.hir-modal{position:fixed;z-index:10050;inset:0;display:grid;place-items:center;padding:24px;background:rgba(22,21,23,.7)}.hir-dialog{position:relative;display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;width:min(920px,100%);max-height:min(840px,calc(100vh - 48px));border:1px solid #d7cfc3;background:#f7f4ee;box-shadow:0 30px 80px rgba(0,0,0,.28)}.hir-close{position:absolute;z-index:2;top:15px;right:16px;width:38px;height:38px;border:1px solid #ded6ca;background:#fff;color:#29282c;font-size:24px;cursor:pointer}.hir-dialog-head{padding:25px 70px 18px 26px;border-bottom:1px solid #ddd6cb;background:#fff}.hir-dialog-head h2,.hir-success h2{margin:5px 0 7px;font-size:24px}.hir-dialog-head p,.hir-success p{max-width:720px;margin:0;color:#746e67;font-size:12px;line-height:1.65}.hir-summary{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #ddd6cb;background:#28272b;color:#fff}.hir-summary>div{display:grid;gap:5px;padding:15px 20px;border-right:1px solid #49474b}.hir-summary>div:last-child{border-right:0}.hir-summary small{color:#cac6bd;font-size:10px;text-transform:uppercase}.hir-summary strong{font-size:18px}.hir-list{display:grid;gap:10px;overflow:auto;padding:16px}.hir-item{border:1px solid #ded7cd;background:#fff}.hir-item>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:13px 15px;border-bottom:1px solid #ece6dc}.hir-item>header>div{display:grid;gap:4px}.hir-item>header small,.hir-allocations small{color:#817a72;font-size:10px}.hir-item>header>b{white-space:nowrap;color:#9b6c28}.hir-allocations{display:grid}.hir-allocations>span{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,1fr) auto;align-items:center;gap:12px;padding:9px 15px;border-bottom:1px solid #f0ebe3}.hir-allocations>span:last-child{border-bottom:0}.hir-allocations b{font-size:11px}.hir-allocations em{font-size:11px;font-style:normal;font-weight:800}.hir-confirm{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:17px 20px;border-top:1px solid #d9d1c5;background:#fff}.hir-confirm>div{max-width:580px}.hir-confirm p{margin:4px 0 10px;color:#746e67;font-size:11px}.hir-confirm label{display:grid;gap:6px;color:#645e57;font-size:10px}.hir-confirm input{width:min(320px,100%);height:40px;padding:0 11px;border:1px solid #cfc6b9;background:#fbfaf7}.hir-empty{display:grid;place-items:center;gap:7px;min-height:180px;color:#746e67;text-align:center}.hir-empty strong{color:#29282c}.hir-success{display:grid;place-items:center;gap:9px;padding:48px;text-align:center;background:#fff}.hir-success strong{font-size:22px;color:#2f7b55}.hir-success button{margin-top:10px;min-width:140px}
@media(max-width:720px){.hir-card{display:grid;padding:18px}.hir-card button{width:100%}.hir-modal{padding:0}.hir-dialog{width:100%;height:100%;max-height:none;border:0}.hir-dialog-head{padding:20px 58px 15px 18px}.hir-dialog-head h2{font-size:21px}.hir-summary{grid-template-columns:1fr}.hir-summary>div{padding:10px 16px;border-right:0;border-bottom:1px solid #49474b}.hir-summary>div:last-child{border-bottom:0}.hir-item>header{display:grid}.hir-allocations>span{grid-template-columns:1fr auto}.hir-allocations small{grid-column:1/-1;grid-row:2}.hir-confirm{display:grid;align-items:stretch}.hir-confirm input,.hir-apply{width:100%}.hir-success{padding:32px 20px}}

/* Mobile viewport and safe-area hardening. The dialog owns the viewport while
   only the result list scrolls, keeping confirmation actions reachable. */
@media(max-width:720px){
  .hir-modal{height:100vh;height:100dvh;min-height:0;overflow:hidden;place-items:stretch;overscroll-behavior:none}
  .hir-dialog{width:100%;height:100vh;height:100dvh;max-height:100dvh;min-height:0;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}
  .hir-dialog-head{padding-top:calc(18px + env(safe-area-inset-top));flex:0 0 auto}
  .hir-close{top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));width:44px;height:44px}
  .hir-summary{grid-template-columns:repeat(2,minmax(0,1fr));flex:0 0 auto}
  .hir-summary>div{min-width:0;padding:10px 14px}
  .hir-summary>div:last-child{grid-column:1/-1}
  .hir-summary strong{font-size:16px;overflow-wrap:anywhere}
  .hir-list{min-height:0;overflow-x:hidden;overflow-y:auto;padding:14px 14px 20px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}
  .hir-confirm{position:relative;z-index:3;max-height:min(38dvh,320px);overflow-y:auto;padding:14px 16px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -10px 28px rgba(31,29,27,.08);-webkit-overflow-scrolling:touch}
  .hir-confirm input,.hir-apply{min-height:48px;font-size:16px}
  .hir-item>header small{overflow-wrap:anywhere}
}
@media(max-width:390px){
  .hir-dialog-head h2{font-size:19px;line-height:1.2}
  .hir-dialog-head p{font-size:11px;line-height:1.5}
  .hir-summary small{font-size:9px}
  .hir-summary strong{font-size:15px}
  .hir-confirm p{line-height:1.45}
}
